java笔记(三)

来源:互联网 发布:淘宝宝贝排名靠前技巧 编辑:程序博客网 时间:2024/05/24 04:14
在函数没写权限的时候,有个默认权限
重写的权限只能不变或者放大
静态方法只能重写静态方法,静态方法只能被静态方法覆盖
子类在创建实例的过程中,默认子类的所有构造都先要调用父类的无参数的构造方法(super())
子类实例化过程中,会自动调用父类的构造方法


final 可以修饰类,方法,变量
      修饰的类不可以被继承
      修饰的方法不可以被覆盖
      修饰的变量是一个常亮,只能被赋值一次
      内部类只能访问被final修饰的局部变量


抽象就是从多个事物中将共性的,本质的内容抽取出来


public abstract 抽象方法
abstract class 抽象类
抽象类不能实例化,作用将来被继承
一个抽象类一旦被继承,子类就必须实现所有方法
抽象类是类的模板(类是对象实例的模板)
抽象类是有构造方法的


interface 接口:本质是标准
implements 实现
java中只能单继承,但可以多实现接口
接口和接口之间可以多继承


如果既可以写抽象类又可以写接口,一定写接口
接口是标准,抽象类是类的模板




多态(polymorphism):某一种失误的多中存在形态
多态中,可以自动向上转型,如果要向下转型就必须先向上转型
在多态中,子类向上转型后的实例,不能访问子类特有的方法
在多态中,进行向下转型最好是先用 instanceof 判断下类型


类的设计主要是父类的设计
子类永远不要去继承一个已经完全实现好的类,因为一旦发生向上转型,所调用的方法一定是被子类覆盖过的方法,所以只会继承抽象类或者是接口




内部类:一个类中嵌套另一个类
内部类可以直接访问外部类的私有成员变量
外部类要访问内部类要创建实例
静态内部类只能访问静态的外部成员变量
外部函数的参数要final才被内部访问
0 0