Head First JAVA 拾忆-2

来源:互联网 发布:广联达软件升级费用 编辑:程序博客网 时间:2024/04/24 12:02

6.使用函数库

1.ArrayList

//创建ArrayList<Egg> myList = new ArrayList<Egg>();//加入元素Egg s = new Egg();myList.add(s);//再加入元素Egg b = new Egg();myList.add(b);//查询大小int theSize = myList.size();//查询特定元素boolean isIn = myList.contains(s);//查询特定元素的位置int idx = myList.indexOf(b);//判断集合是否为空boolean empty = myList.isEmpty();//删除元素myList.remove();

2.布尔表达式

1.&& 或 || 表示“与”和“或”
2.&和| 用来做位运算

3.包

1.它可以帮助组织项目或函数库相对于一大堆零散的类,以功能来组织会比较好。
2.它可以制造出名称空间,以便错开相同名称的类。
3.可以通过限制同一包之间的类才能相互存取以维护安全性。
4.import和include并不相同,运用import只是帮你省下每个类前面的包名称而已。

7.继承与多态

1.继承

关键字 extends
覆盖:由子类重新定义继承下来的方法以改变或延伸此方法的行为。
1.用继承来防止子类中出现的程序代码,寻找更多抽象化的机会。
2.当你调用对象的引用方法时,会调用到与该对象类型最接近的方法。
3.public类型的成员会被继承,private类型的成员不会被继承。
意义:
1.避免了重复的程序代码。
2.定义出共同的协议。
注意:
1.参数必须要一样,且返回类型必须要兼容。
2.不能降低方法的存取权限。

关键字 final
1.方法不能被覆盖。

2.重载

关键字:overload
意义:两个方法的名称相同,但参数不同
注意:
1.返回类型可以不同
2.不能只改变返回类型
3.可以更改存取权限

8.接口与多态

1.抽象类、抽象方法

关键字:abstract
意义:
1.抽象类代表没有人能够创建出该类的实例。
2.抽象的方法代表此方法一定要被覆盖过。
注意:
1.如果你声明出一个抽象的方法,就必须将类也标记为抽象的。你不能在非抽象类中拥有抽象的方法。
2.抽象的方法没有实体!抽象方法的意义是就算无法实现出方法的内容,但还是可以定义出一组字型共同的协议。通过这个机制,你可以加入新的子型到程序中,却又不必重写或修改处理这些类型的程序。

2.Object类

意义:
1.在JAVA中所有类都是从Object这个类继承出来的,没有直接继承过其他类的类会是隐含的继承对象。
2.其中object几个方法

equal(Object o)getClass()hashCode()toString()

3.接口

关键字:implement 和 interface
意义:
1.JAVA不允许多重继承,因为那样会有致命方块的问题。
2.接口好像是100%纯天然的抽象类。
3.class可以实现多个接口。
4.实现某接口必须实现它所有的方法,因为这些方法都是public和abstract的。

9.构造器与垃圾收集器

1.堆与栈

在JAVA中,对象的生存空间堆(heap)和方法调用及变量的生存空间栈(stack)。
其中:
1.实例变量是声明在类中方法之外的地方。
2.局部变量声明在方法或方法的参数上。
3.栈存储方法调用和局部变量,堆存储所有对象(对象的实例变量的值是存放于该对象中)。

2.构造函数

注意:
1.构造函数是个会在新建对象的时候执行程序代码,构造函数必须与类同名且没有返回类型。
2.一定要有不需要参数的构造函数。
3.如果你已经写了一个有参数的构造函数,并且你需要一个没有参数的构造函数,则你必须自动动手写。
4.如果类有一个以上的构造函数,则参数一定要不一样。
5.super()语句必须是构造函数的第一个语句。
6.使用this()来从某个构造函数调用同一个类的另一个构造函数。this()只能在构造函数中,且必须是第一行语句。super()和this()不可兼得。

0 0
原创粉丝点击