`

java容易忽视的基础知识(笔试用)

 
阅读更多
  • 类的访问说明符
    public   可以任意访问
    default  只有同一个包中才能访问
    类的其他修饰符
    final    不能被其他类继承,如String
    abstract 抽象类,不能实例化

 

  • 方法的访问说明符
    private     只能同一个类中访问
    protected 同一个类或子类访问
    public       所有都能访问
    default     只有同一个包中才能访问
                   同类  同包  子类(不同包) 不同包
    public         Y     Y        Y                        Y
    protected   Y     Y        Y                        N
    default       Y     Y        N                        N
    private       Y     N        N                        N
  • 方法的其他修饰符
    static    静态方法,属于类
    final     该方法在继承中保持不变,不能被重写。class中所有private和static方法自然就是final
    abstract  抽象方法。子类如果没有实现父类抽象方法,该子类必须为抽象类。构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法
    native    JNI。允许Java操作其他语言写的程序和库
    synchronized

       finalize方法 该对象被回收之前调用。System.gc()显式回收垃圾

 

  • 接口
    接口中所有的方法都是public abstract
    在接口中声明方法时,不能使用native、static 、final 、synchronized 、private 、protected等修饰符
    接口中可以有数据成员,这些成员默认都是public static final
    一个接口可以继承自另一个接口
    Java中不允许类的多继承,但允许接口的多继承,一个接口可以extends多个接口
    在Java中,一个类可以实现多个接口
    一个类在继承另外一个类的同时,可以实现多个接口

 

  • 内部类
    在一个类中定义另外一个类,这个类就叫做内部类
    内部类可以访问外部类所有的成员方法和变量(包括private)
    内部类访问自己成员:this. 内部类访问外部类成员:外部类名.this.
    其他地方产生内部类:外部类对象名.new 内部类类名()
    方法中定义的内部类只能在该方法中使用,方法中的局部变量声明为final才能被内部类访问
    内部类可以声明为private或protected;还可以声明为abstract或final
    内部类可以声明为static的,但此时就不能再使用外部类的非static的成员变量和非static的成员方法
    非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可声明static成员

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics