前进吧蜗牛大学生活@IT·互联网

java 类、接口基础知识

2017-05-17  本文已影响160人  cobs

Java中 private、protected、public和default的区别

作用域 当前类 同一包类 子孙类 其他包
public Y Y Y Y
protected Y Y Y N
default Y Y N N
private Y N N N

类似于倒三角形的样子
注意

override 和 overload

注意:static方法 官网推荐是直接用类名调用。

接口 interface

在Java8 中接口也可以定义默认方法与静态方法

import java.util.function.Supplier;

public class testInterfaceMethodes {
    private interface Defaulable {
        // Interfaces now allow default methods, the implementer may or 
        // may not implement (override) them.
        default String notRequired() { 
            return "Default implementation"; 
        }        
    }
    private static class DefaultableImpl implements Defaulable {
    }
    private static class OverridableImpl implements Defaulable {
        @Override
        public String notRequired() {
            return "Overridden implementation";
        }
    }
    private interface DefaulableFactory {
        // Interfaces now allow static methods
        public static Defaulable create( Supplier< Defaulable > supplier ) {
            return supplier.get();
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Defaulable defaulable = DefaulableFactory.create( DefaultableImpl::new );
        System.out.println( defaulable.notRequired() );
             
        defaulable = DefaulableFactory.create( OverridableImpl::new );
        System.out.println( defaulable.notRequired() );

    }

}

==>执行结果
Default implementation
Overridden implementation


上一篇文章 java 基础知识总结

如有什么不对的地方,欢迎大家指出来,我们共同学习!!
接下来会写关于集合类相关的文章,谢谢大家关注

上一篇下一篇

猜你喜欢

热点阅读