类和接口
今日份学习final关键字和接口。
- final关键字凡是被final关键字修饰过的内容都是不可改变的。
- final变量final关键字可用于声明变量,一旦变量被设定,就不可以再改变该变量的值。通常,由final关键字定义的变量为常量。
final关键字定义的变量必须在声明时对它进行赋值操作。它除了可以修饰基本数据类型的常量,还可以修饰对象引用,也可以修饰数组(数组可以看作一个对象来引用)。 - final方法final方法可以防止子类修改父类的定义与实现方法,同时执行效率高于非final方法。
在权限修饰中,一个定义为private的方法被隐式被指定为final类型,因此无需重复定义。
【例】private final void test(){
… //省略一些程序代码
}
- final类
定义为final类就不能被继承。所以说,如果希望一个类不被任何类继承,并且不允许其他人对这个类进行任何改动,可以将这个类设置为final类。
final 类名()
如果将某个类设置为final类, 则该类中的所有方法都被隐式设置为final方法,但是final类中的成员变量可以被定义为final形式或者非final形式。
- 多态利用多态可以使程序具有良好的扩展性,并可以对所有对象进行通用的处理。
使用多态节省了开发和维护的时间,同时,只要实例化一个继承父类的子类对象,即可以调用相应的方法。
【例】万能的绘图方法
class Shape{}
class Square extends Shape{}
class Circular extends Shape{}
public class Demo2 {
public static void draw(Shape s) {
if(s instanceof Square) {
System.out.println("绘制正方形");
}else if(s instanceof Circular) {
System.out.println("绘制图形");
}else {
System.out.println("绘制父类图形");
}
}
public static void main(String[] args) {
draw(new Shape());
draw(new Square());
draw(new Circular());
}
}
结果为:
- 接口
使用关键字interface进行定义。
在接口中,方法必须被定义为public或者abstract形式,其他修饰权限不被JAVA编译器认可。或者说,即使不将该方法声明为public形式,它也是public形式。
在接口中定义的任何字段都自动是static和final的。
标签:定义,接口,final,关键字,Shape,修饰,public From: https://blog.51cto.com/u_15966010/7942381