zoukankan      html  css  js  c++  java
  • protected关键词

    一、问题

    ​ 今天再使用Object类的clone方法发现一个问题,所有的类都继承自Object,Object中有的非private方法他的子类也应该有。在Object中有protected native Object clone() throws CloneNotSupportedException方法,该方法作用是浅clone一个对象。我自己创建了一个实现类public class Demo implements Cloneable,发现不能调用clone方法。

    二、误区

    访问权限 含义 本类 本包的类 非本包子类 非本包非子类
    public 公共的
    protected 保护访问权限
    default 包访问权限
    private 私有的
    由于有其他语言的基础,对于访问权限关键字一直参考这张表,也受限于这张表,所以会出现这种问题。
    

    三、案例

    sdn上也看了一些答案,自己也做了一些小demo.

    public class Demo{
        protected void demo(){
            System.out.println("i am demo");
        }
    }
    
    
    public class Demo2 extends Demo{
    
    }
    
    
    public class App {
        public static void main(String[] args) throws IOException, CloneNotSupportedException {
            Demo2 demo2 = new Demo2();
            demo2.demo();
        }
    }
    

    四、总结:

    protect关键词修饰的方法,其子类可以调用,但是子类的实现类不能直接使用!

  • 相关阅读:
    FTPUtil工具类
    maven配置默认jdk版本
    IDEA 使用lombok
    当前时间是否在区间范围内
    获取剩余的秒数
    java类执行顺序
    java8 关于Set集合的线程安全使用
    反射之设置对象字段值以及根据字段获取对象字段值
    ES方法使用注意
    java导出标题多行且合并单元格的EXCEL
  • 原文地址:https://www.cnblogs.com/theStone/p/14828015.html
Copyright © 2011-2022 走看看