接口和内部类
继承的特点:
1.代码的可重用性
2.可以轻松的自定义子类
3.父类的属性和方法可用于子类
4.设计应用程序变得更加简单
抽象类的特点(abstract):
1.抽象类不能被实例化
2.构造方法和static方法不能是抽象的
3.父类的抽象方法往往在子类中实现
接口的概念:
接口就是;一组对类的要求,它反映了一组没有内在联系的,
不相关的类之间的通讯协议
如果抽象类的所有方法都是抽象的且无实际可应用实例字段,
就可以将抽象类转换为接口
接口中只包含抽象方法和常量值的定义,没有变量和方法的实现,
是一种特殊的抽象类
接口的基本特征:
1.接口中的方法访问控制权限默认为:
public abstract
2.接口中的成员变量默认为:
public static final,
而且必须被显示初使化
3.接口中不能定义实例变量、非抽象的实例方法及静态方法
4.接口中没有构造方法,不能被实例化
5.接口不能实现接口,但可以继承多个其他接口
6.接口必须通过类来实现(implements)它的抽象方法
7.当一个类实现了某个接口时,它必须实现接口中所有的抽象方法,
否则这个类必须定义为抽象类
8.不允许创建接口实例,但允许定义接口类型的引用变量,该变量引
用了实现这个接口的类的实例(对象)
9.一个类只能继承一个直接父类,但能实现多个接口
10.一个类可以在继承一个父类的同时,实现一个或多个接口如果
有一个以上接口被实现,则用逗号隔开接口名称,
如 class demo implements Mycalc, Mycount
定义方法的接口:
public interface myinterface {
public void add(int x, int y);
public void volume(int x,int y, int z);
}
定义程序使用的常量的接口:
public interface myconstants {
public static final double price = 1450.00;
public static final int counter = 5;
}
内部类:
在另一个类中定义的类就是内部类,内部类的范围由装入它的类的范围限制。
这样,如果类B被定义在类A之内,那么B为A所知,然而不被A的外面所知。
内部类可以访问嵌套它的类的成员,包括private成员。但是,包围类不能访问内
部类的成员。
1.内部类为非静态的嵌套类。
2.在类中定义的类称为内部类。
3.内部类之外的类称为外部类。
4.内部类可以访问其外部类的所有变量和方法,
并能够以和外部类的其他非静态成员相同的方式直接引用它们。
5.内部类完全在其包围类的范围之内。
匿名内部类:
不仅能够在方法内,而且还能够在方法的 参数内定义这些类
静态内部类:
通常一个普通类不允许声明为静态的,只 有一个内部类 才可以。这时这个
声明为静态的内部类可以直接作为一个普通类来使 用,而不需实例一个外部类
内部类的使用原则:
内部类对象能够访问创建它的对象的实例字段——包括那些私有数
内部类能够隐藏起来,不为同一包中的其他类所见
使用内部类在编写事件驱动的程序时用起来很方便
异常处理
总的概括:
一张图 和 五个关键字
五个字 : try , catch , throws , throw , finally
一张图:
Throwable(object)
Error 一般不能有程序直接处理,必须交由操作系统处理。《硬件原因造成的运行错误》 |
Exception 所有异常的父类,其子类对应了各种各样可能出现的异常,一般 需要用户显示的声明或捕获 |
RuntimeException 运行时异常 为了不影响程序的可读性和运行的效率,可以进行处理也可不处理 |