java不同包中protected修饰的属性和方法调用方法

protected修饰的静态属性和方法的调用方式1:直接类名调用

                                                                     2:实例化父类对象进行调用

                                                                     3:实例化子类对象进行调用

protected修饰的非静态属性和方法的调用方式:1:实例化子类对象进行调用 

 

父类代码

 1 package com.baidu.tool;
 2 
 3 import com.baidu.test.SonDiffPack;
 4 
 5 public class ParentDiffPack{
 6 
 7     protected String name;
 8     protected static int age;
 9     
10     protected void run() {
11         System.out.println("父类可以跑。。。不是静态方法");
12     }
13     protected static void eat() {
14         System.out.println("父类可以吃。。。。静态方法");
15     }
16 }

子类代码

 1 package com.baidu.test;
 2 
 3 import com.baidu.tool.ParentDiffPack;
 4 
 5 public class SonDiffPack extends ParentDiffPack {
 6 
 7     public static void main(String[] args) {
 8         //不同包父类中静态属性和方法的调用方式既能实例化父类对象也可以直接用类名调用
 9         ParentDiffPack parent = new ParentDiffPack();
10         parent.age=12;
11         parent.eat();
12         ParentDiffPack.age=12;
13         ParentDiffPack.eat();
14         
15         //不同包父类中静态属性和非静态属性,静态方法和非静态方法都可以实例化子类对象进行调用。
16         SonDiffPack son = new SonDiffPack();
17         son.name="xioaming";
18         son.age=12;
19         son.run();
20         son.eat();
21     }
22 }

 

posted @ 2018-05-16 20:01  木&子  阅读(7607)  评论(0编辑  收藏  举报