您的位置:首页 > 编程语言 > Java开发

Java基础知识小结[3]

2014-12-07 21:09 344 查看
1. 继承中的构造方法(constructor):

使用this.(argument_list)调用本类的其他构造方法。

子类若调用super,必须写在构造方法第一行。

若子类构造方法中没显示的调用父类构造方法【即没写出super()】,则系统默认调用父类的无参数构造方法。

若子类构造方法中没显示的调用父类构造方法,而基类中没有无参构造方法,则编译会出错。

2. 对象转型(casting):

①父类的引用类型可以‘指向’其子类的对象(eg: Animal,Cat)

②父类的引用不可以访问其子类对象新增的成员(属性和方法)

③可用 instanceof 来判断该引用类型变量所‘指向’的对象是否属于该类或该类的子类。

④子类的对象可以当做父类的对象来使用称为向上转型(upcasting),反之称为向下转型(downcasting)。

3. 多态(polymorphism)(动态绑定)(面向对象最核心的机制):

定义:是指“在执行期间(而非编译期间)”判断所引用对象的实际类型(而非引用类型),根据其实际类型调用其相应的方法

好处:可扩展性达到最好

多态存在的必要条件:

1. 有继承

2. 有重写

3. 父类引用指向子类对象(联系对象转型)

4. 接口(interface):

接口:抽象方法和常量值的定义的集合。

本质上讲,接口是一种特殊的抽象类,这种抽象类只包含常量(final)和方法的定义,而没有变量和方法的实现(即只有抽象方法,但不写abstract)。

接口成员变量默认是(也只能是)public static final类型,方法只能定义抽象方法,而且只能是public类型

多个无关的类可以实现一个接口,一个类可以实现多个无关的接口(有点像绕口令)。

与继承关系类似,接口与实现类之间存在多态性。

接口与接口之间可相互继承,类与类之间可相互继承。类可以实现接口(必须对其方法进行重写)。

public interface Runner {
	public static final int id = 1; //接口成员变量默认(也只能)是public static final类型
	
	public void start(); //只能定义抽象方法(只声明,不实现),而且只能是public
	public void run();
	public void stop;
}


其他:

Object类(所有Java类的根基类)

没写extends时,默认从Object类继承,可直接调用Object类中的方法。

哈希编码(hashcode):代表唯一一个对象,且可通过hashcode可找到对象位置。

抽象(abstract):

abstract关键字修饰的类为抽象类

抽象类需要被继承(因为抽象类不能被实例化,若再不被继承则无意义)

abstract关键字修饰的方法为抽象方法(必须被重写)

抽象方法只声明即可,不需实现

final关键字:

①final变量的值不能被改变

②final的方法不能被重写

③final的类不能够被继承

学着去查API文档(English first)

——你必须很努力,才能做到看起来毫不费力

to be continued ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: