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

Java学习(五)面向对象的高级特性

2013-07-13 21:45 351 查看
一:继承

关键字:extends,super(指向父类的引用),this(指向本类的引用)。

规则:Java支持单继承(子类只能有一个父类,但一个父类可以有很多子类),子类可以继承父类的所有属性和方法。

子类实例化过程:先实例化父类,然后实例化子类(先调用父类的构造器,然后调用子类的构造器)

优点:代码复用,已维护,高效。

二:多态:

同一个实现接口,使用不同的实例而执行不同的操作。

必要条件:继承或实现,方法覆盖,父类引用指向子类对象。

优点:简化代码,改善代码的组织性和可读性,便于扩展。

三:方法的覆盖:

规则:相同的方法名,相同的参数(数量,类型,顺序),相同的返回类型,子类覆盖方法的访问权限不小于父类的的访问权限。

四:抽象类:

抽象方法:只有方法声明,没有方法实现的方法。

规则:抽象类不能实例化,抽象方法必须在其子类中被实现,否则子类只能声明为abstract。抽象方法不能为static

五:接口:只包含常量和抽象方法,没有变量和方法的实现。

关键字:interface

规则:无构造器,不能实例化。

接口与类的关系:类可以实现多个接口,类若实现一个接口,就必须实现接口所有的抽象方法,否则只能声明为抽象类。

接口与抽象类的区别:接口不能有非抽象方法,抽象类可以;类可以实现多个接口,但只能有一个父类;接口不是类分级的一部分。

意义:相当于实现多继承,使方法的定义和实现想分离,降低模块或系统间的耦合性。

六:内部类:定义在一个类内部的类

规则:内部类可以访问外部类的所有属性和方法;无需外部类对象,内部类可以直接访问外部类的变量和方法,但是外部类访问内部类的变量和方法时需要内部类对象;不能定义static变量;内部类和外部类有相同的变量和方法时,采取就近原则,访问内部类。

访问规则:外部类内部访问内部类 Inner In =new Inner(); 在外部类外访问内部类 Outer o=new Outer(); Outer.Inner oi=o.new Inner();

静态内部类:可以定义静态成员和非静态成员,不能访问外部类的非静态成员。实例化方式:Outer.Inner inn=new Outer.Inner();

局部内部类:方法中或者程序块内定义的内部类。(只能访问方法中的final类型的局部变量)

匿名内部类:没有名称,不能被引用的内部类。没有构造方法,不能定义静态成员,方法和类,只有一个实例,

七:封装:

定义:隐藏属性,方法或实现细节的过程

目的:隐藏实现细节,限制对属性的不合理操作,增强代码的可维护性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: