2015-4-9 工作日志

来源:互联网 发布:adobe软件介绍 编辑:程序博客网 时间:2024/05/18 01:06

学习面向对象高级部分:

继承、抽象类、接口


继承:

class 父类{}

class 子类 extends 父类{}

可以在子类中使用父类的属性,但不能访问私有成员,需要通过其他方式(getter setter)访问。

一个子类只能继承一个父类(单重继承),一个父类还可以有一个父类(多层继承)。

一个类永远不要去继承一个已经实现的类。


抽象类:

包含一个抽象方法的类。只声明而未实现的方法称为抽象方法,必须使用abstract关键字声明。

抽象类必须被子继承,子类如果是普通类则必须覆写抽象类中的全部抽象方法。

抽象类不能使用final关键字声明,允许有构造方法,而且完全符合子类对象的实例化过程。

例:

abstract class A{

 public String name = "AAA";

 public abstract void print()

}

class B extends A {

 public void print(){

 system.out.println("XXX");

 }

}


接口:

全部由由全局常量和公共的抽象方法构成的类。

可以简化定义:

interface A{

 String NAME = "AAA" //全局常量

 void print(); //抽象方法

}

//实现接口

interface B{

 void say();

}

class C implements A,B{

 public void print(){

 system.out.println(NAME);

 }

 public void say(){

 system.out.println("XXX");

 }

}

一个子类可以同时继承抽象类和实现接口。对于抽象类的子类必须同时覆写接口和抽象类中定义的所有抽象方法。

class 子类 extends 抽象类 implements 接口{}

一个接口不能继承一个抽象类,但是却可以通过extends关键字同时继承多个接口,实现接口的多继承。

interface 子接口 extends 父接口A,父接口B,…{}


0 0
原创粉丝点击