随笔分类 -  Java基础

记录Java的基础知识,方便复习回顾
摘要:前言 对程序语言的设计者来说,创建一个好的输入/输出(IO)系统是一项艰难的任务。这艰难主要来自于要涵盖I/O的所有可能性。不仅存在各种I/O源端和想要与之通信的接收端(源端/接收端:文件、控制台和网络连接等),而且它们之间可能还需要以不同的方式进行通信(顺序、随机存取、缓冲、二进制、按字符、按行和 阅读全文
posted @ 2019-03-13 09:24 sakuraxx 阅读(1324) 评论(0) 推荐(1)
摘要:前言 一般的类和方法,使用的都是具体的类型:基本类型或者自定义的类。如果我们要编写出适用于多种类型的通用代码,那么就不能使用具体的类型。前面我们介绍过多态,多态算是一种泛化机制,但是也会拘泥于继承体系,使得代码不够通用。我们希望编写更通用的代码,使代码可以应用于“某种不具体的类型”,而不是一个具体的 阅读全文
posted @ 2019-03-04 21:27 sakuraxx 阅读(1994) 评论(2) 推荐(2)
摘要:前言 通常,我们总是在程序运行过程中才获得一些条件去创建对象,这些动态创建的对象就需要使用一些方式去保存。我们可以使用数组去存储,但是需要注意数组的尺寸一旦定义便不可修改,而我们并不知道程序在运行过程中会产生多少对象,于是数组的尺寸便成了限制。Java实用类库还提供了一套的容器类来解决这个问题,可大 阅读全文
posted @ 2019-03-02 10:27 sakuraxx 阅读(1103) 评论(0) 推荐(0)
摘要:前言 Java中使用异常机制去处理程序错误,减少了错误处理代码的复杂度。使得我们不必在程序每个可能出现错误的地方都进行检查并添加错误处理代码,从而显得程序主要结构混乱。异常机制会捕获错误,并且在异常处理程序中处理错误,使得程序代码和错误处理代码分离,使得代码结构更清晰明了。下面将介绍Java中的异常 阅读全文
posted @ 2019-02-23 23:01 sakuraxx 阅读(586) 评论(0) 推荐(0)
摘要:前言 将一个类的定义放在另外一个类定义的内部,里面的就叫做内部类。内部类是一种非常有用的特性,它允许你把一些逻辑相关的类组织在一起,并控制内部的类的可视性。看起来像是一种代码隐藏机制:将类的实现定义在了其他类中。但是,内部类的优点远不止于此,它可以访问外围类的任何成员并与之通信、让一个类实现多继承等 阅读全文
posted @ 2019-02-21 18:19 sakuraxx 阅读(524) 评论(0) 推荐(2)
摘要:前言 在Java中,接口和抽象类为我们提供了一种将类的对外接口与实现分离的更加结构化的方法。下面将介绍抽象类,它是普通的类与接口之间的一种中庸之道,接着再介绍接口。 抽象类和抽象方法 当我们仅是希望有一个基类可以提供统一的接口去控制它导出的所有子类,并且该基类没有被实例化的必要时,我们就可以使用抽象 阅读全文
posted @ 2019-02-20 23:38 sakuraxx 阅读(950) 评论(0) 推荐(4)
摘要:前言 在面向对象程序设计语言中,多态是继数据抽象和继承之后的第三种基本特性。多态的含义是什么,有什么作用以及在Java中是怎么实现的?下面将做介绍。 什么是多态 简单点说就是“一个接口,多种实现”,不同类对同一操作体现出不同效果。 设想有一个性质:一个引用变量所指向的确切类型和该引用变量调用的方法是 阅读全文
posted @ 2019-02-19 23:49 sakuraxx 阅读(583) 评论(0) 推荐(1)
摘要:前言 Java中的关键字final的含义通常为“这是无法改变的”。下面将介绍final用于修饰数据、方法和类的这三种情况。 final数据 许多编程语言都有某种方法,来向告诉编译器这一块数据是不变的。有时候数据的恒定不变会很有用,比如编译时常量或者一个在运行时被初始化的值而你不希望改变它。对于编译期 阅读全文
posted @ 2019-02-19 11:42 sakuraxx 阅读(219) 评论(0) 推荐(1)
摘要:前言 在程序设计中经常会遇到要对方法进行重载或者重写的情况,下面就介绍一下重载和重写。 重载(Overloade) 重载出现的原因 任何程序设计语言都具备的一项重要特性就是对名字的运用。方法名就是给某个动作取的名字。通过使用名字,我们可以引用所有对象和方法。名字起的好可以使程序更易于理解和修改。 在 阅读全文
posted @ 2019-02-18 22:31 sakuraxx 阅读(3719) 评论(3) 推荐(5)
摘要:前言 代码复用是Java众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复用代码并对之加以改变是不够的,它必须还能够做更多的事情。Java解决问题都是围绕类展开的,对于复用代码,可以创建新的类来复用,也可以使用别人已经开发并调试好的类。方法的关键在于使用类而不破坏现有程序代码。有两种方式 阅读全文
posted @ 2019-02-18 15:37 sakuraxx 阅读(4500) 评论(0) 推荐(5)
摘要:前言 在程序编写之中可以直接使用{...}定义的一段语句就是代码块。根据代码块的位置以及关键字的不同可以分为4种:普通代码块、构造块、静态块以及同步代码块(多线程相关)。 普通代码块 写在方法里面的代码块就是普通代码块 public static void main(String args[]){ 阅读全文
posted @ 2018-12-02 15:04 sakuraxx 阅读(559) 评论(0) 推荐(2)
摘要:前言 static关键字算是Java中比较复杂的关键字之一,它可以修饰变量、方法、类以及代码块。下面将介绍static的具体使用。并且扩展介绍关于程序入口函数public static void main(String[] args)的一些知识。 引入static的目的 在《Java编程思想》中对s 阅读全文
posted @ 2018-12-02 10:04 sakuraxx 阅读(530) 评论(0) 推荐(3)
摘要:前言 本篇博客主要梳理一下Java中对象比较的需要注意的地方。 ==和equals()方法 在前面对String介绍时,谈到过使用==和equals()去比较对象是否相等的问题。使用==比较的是两个对象在内存中的地址是否一致,也就是比较两个对象是否为同一个对象。使用equals()方法可以依据对象的 阅读全文
posted @ 2018-12-01 21:11 sakuraxx 阅读(4903) 评论(0) 推荐(2)
摘要:前言 this关键字属于Java中比较复杂的关键字之一,若是学习过C++或者其他的一些面向对象语言也会遇到this这个关键字并且都会看到this的含义就是表示当前对象。下面将介绍this所表示的当前对象的含义,以及this在Java中的一些用法。 this调用属性 当我们写带参构造函数时,会倾向于将 阅读全文
posted @ 2018-11-19 09:56 sakuraxx 阅读(2272) 评论(1) 推荐(5)
摘要:前言 几乎所有语言都没有提供字符串这个概念,而是使用字符数组来描述字符串。Java语言严格来说也是没有字符串的。然而在开发时会经常使用到字符串,于是Java为了应对便创建了String类这个字符串类。使用双引号""定义的内容都为字符串。理解Java的String需要从类和内存关系上分析这个类。 St 阅读全文
posted @ 2018-11-18 18:35 sakuraxx 阅读(990) 评论(0) 推荐(5)
摘要:前言 在编写程序时不安全的初始化会导致程序发生发生重大错误。为了使程序可以被安全地初始化,C++引入了构造器(也可以成为构造方法)的概念,这是一个在创建对象时被自动调用的特殊方法。Java中也采用了构造器,并且提供了“垃圾回收器”。对不再使用的内存资源,垃圾回收器能自动将其释放。本文下面主要介绍Ja 阅读全文
posted @ 2018-11-18 10:59 sakuraxx 阅读(3208) 评论(0) 推荐(2)
摘要:前言 Java语言是一种面向对象的语言。面向对象的思想在七十年代的时候由IBM的SmallTalk语言最先推广。面向对象可理解为一种开发模式。早期的计算机编程使用的是面向过程的方法,其特点是针对某一问题单独提出解决方案以及代码开发。而面向对象是一种以组件化的形式进行代码设计。组件化使得代码重用性高, 阅读全文
posted @ 2018-11-17 23:51 sakuraxx 阅读(343) 评论(0) 推荐(1)