Java基础之一

xiaoxiao2022-10-03  169

/** * * <p> public/private/protected/默认修饰符</p> * * 在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女, * 而对于和自己一个目录下的classes,认为都是自己的朋友。 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 有如下一段程序: package a.b.c; public class Test{ String name="BlueDavy"; protected String desc="blog.bluedavy.cn"; } package a.b.c; public class TestA{ private String name; private String desc; public TestA(){ Test test=new Test(); name=test.name; desc=test.desc; } } package a.b.c.d; public class TestB{ private String name; private String desc; public TestB(){ Test test=new Test(); name=test.name; desc=test.desc; } } package a.b.c.d; import a.b.c.Test; public class TestC extends Test{ private String cname; private String cdesc; public TestC(){ cname=name; cdesc=desc; } } 请问以上TestA、TestB、TestC能编译过吗,如编译不过,原因是什么ß * <> * @author mike * */
转载请注明原文地址: https://www.6miu.com/read-4977986.html

最新回复(0)