java的继承和访问_java中类之间的继承和访问权限

package baseDemo1;

/**

* 类之间的继承和访问

* */

public class Demo1 {

public void method1() {

}

protected void method2(){

}

void method3(){

}

private void method4(){

}

public static void main(String[] args){

/**

* Demo1访问同一个package中的类Demo5。

* Demo5不是public类

* 结论:类的修饰符public是针对不同包之间的访问

* 类修饰符,对本包之间的类访问,没有影响

* */

Demo5 d5 = new Demo5();

d5.method1(); //public OK

d5.method2(); //protected OK

d5.method3(); //default OK

//d5.method4(); //private Error

/**

* 访问不同package中的类Demo2

* 结论:只能访问不同package中的public类中的public成员

*/

baseDemo2.Demo2 d2 = new baseDemo2.Demo2();

d2.fun1(); //public OK

//d2.fun2(); //protected Error

//d2.fun3(); //default Error

//d2.fun4(); //private Error

/**

* Demo3继承同一个package中的类Demo1

* 同一个package中类的继承: 子类能继承父类除了private之外的所有成员

* */

Demo3 d3 = new Demo3();

d3.method1(); //public OK

d3.method2(); //protected OK

d3.method3(); //default OK

//d3.method4(); //private Error

/**

* Demo4继承不同的package中的类Demo2

* 不同package中,类的继承: 子类只能继承父类的public成员

* */

Demo4 d4 = new Demo4();

d4.fun1(); //public OK

//d4.fun2(); //protected Error

//d2.fun3(); //default Error

//d2.fun4(); //private Error

}

}

/**

* Demo3继承同一个package中的类Demo1

* */

class Demo3 extends Demo1{

}

/**

* Demo4继承不同的package中的类Demo2

* */

class Demo4 extends baseDemo2.Demo2{

}

class Demo5{

public void method1() {

}

protected void method2(){

}

void method3(){

}

private void method4(){

}

}

package baseDemo2;

public class Demo2 {

public void fun1(){

}

protected void fun2(){

}

void fun3(){

}

private void fun4(){

}

}

原文:http://blog.csdn.net/u011402596/article/details/41699097

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值