笔记

Java修饰符大小

public>protected>default>private

final方法不等同于private方法

虽然类中的private方法都隐式地指定为final,但是二者并不是等同的。private是访问权限修饰符,用于控制外界对类内部成员的访问,private方法只能在类的内部访问,而final方法可以在类外部访问

  • final修饰类,表示类不可被继承
  • final修饰变量,表示变量不可更改
  • final修饰方法,表示方法不可被覆盖

方法重写原则(两同两小一大)

  • 方法名相同,参数类型相同
  • 子类返回类型小于等于父类方法返回类型
  • 子类抛出异常小于等于父类方法抛出异常
  • 子类访问权限大于等于父类方法访问权限

IO流

System.out.println含义

  • System是java.lang包下的一个类
  • out是System类的一个final静态成员(public final static PrintStream out = null;)
  • println()是PrintStream类的实例方法

静态代码块、构造方法、代码块执行顺序

父类静态代码块->子类静态代码块->父类非静态代码块->父类构造方法->子类非静态代码块->子类构造方法

原因分析:当实例化子类对象是,首先加载父类的class文件到内存中,静态代码块随着类的创建而执行,所以父类静态代码块最先被执行,子类class文件再被加载,子类静态代码块被执行;实例化子类对象要先调用父类的构造方法,而调用父类构造方法前会先调用父类的非静态代码块

匿名内部类

创建格式:

new 父类构造器(参数列表)|实现接口()  
    {  
     //匿名内部类的类体部分  
    }
  • 使用匿名内部类时,必须继承一个类或实现一个接口
  • 匿名内部类由于没有名字,因此不能定义构造函数
  • 匿名内部类不能含有静态成员变量和静态方法
  • 匿名内部类的方法不能是抽象的
posted @ 2019-03-26 22:34  小永coding  阅读(134)  评论(0编辑  收藏  举报