JAVAOOP4
1.static final常量:
必须声明同时初始化、类名点来访问、不能改变、大写
编译器在编译时将常量直接替换为具体的值,效率高
何时用:数据永远不变、并且经常使用
2.抽象方法:
abstract,只有方法的定义,没有具体的实现
3.抽象类:
abstract,包含抽象方法的类必须是抽象类,
不能被实例化,是需要被继承的,派生类:
1)重写抽象方法----变不完整为完整
2)也声明为抽象类----不常用
意义:
1)代码复用
2)向上造型
3)可以包含抽象方法,为所有派生类提供统一的入口
派生类的实现不同,但入口是一致的
1.成员内部类:应用率低
1)类中套类,外面的称为Outer外部类,里面的称为Inner内部类
2)内部类通常只服务于外部类,对外不具备可见性
3)内部类对象通常是在外部类中创建的
4)内部类中可以直接访问外部类的成员(包括私有的)
内部类中有个隐式的引用指向了创建它的外部类对象
eg: 外部类名.this
2.匿名内部类:应用率高
1)若想创建了一个类(派生类)的对象,并且对象只被创建一次,
此时该类不必命名,称为匿名内部类
2)匿名内部类中若想访问外部的变量,该变量必须是的final的
-----在JDK1.8之前有这样的要求
面试题:
问:内部类有独立的.class吗?
答:有