多语言展示
当前在线:746今日阅读:167今日分享:16

成员方法的修辞符及其被访问权限

在java语言中,修辞成员方法的关键字:private  protected  public   及java默认它们的修辞权限怎么样呢?    通过实例验证
工具/原料
1

开发平台软件:Intellij IDEA 16

2

java语言开发

方法/步骤
1

step1:新建包  本例包名【package  myFiles_012】,接着在该包内添加1个类,本例类名:public class fatherDemo1 {}内容如下:package myFiles_012;/** * 探究:修辞符的访问权限 * 条件:  本类内有4个不同修辞符的方法 */public class fatherDemo1 {    //用private修辞的方法    private void show1() {        System.out.println('this is private void show1()');    }    //用默读修辞的方法    void show2() {        System.out.println('this is void show2()');    }    //用protected修辞的方法    protected void show3() {        System.out.println('this is protected void show3()');    }    //用public 修辞的方法    public void show4() {        System.out.println('this is public void show4()');    }    public static void main(String[] args) {        fatherDemo1 mydemo = new fatherDemo1();        mydemo.show1();        mydemo.show2();        mydemo.show3();        mydemo.show4();    }}/*运行结果:   this is private void show1()   this is void show2()   this is protected void show3()   this is public void show4()  实验记录:      在本类内声明4个不同修辞符的方法,在本类内调用,结果全部能访问。  实验结论:      不管用什么修辞符修辞的成员方法,本类内的所有成员方法都能访问到。 * */

2

step2:在包名【package  myFiles_012】下再添加1个类,本例类名:public class sonDemo1{  }  ,将它继承fatherDemo1  内容如下:package myFiles_012;/** * 本类sonDemo1,继承于fatherDemo1 这两个类是同包的 * 探究:子类访问父类方法的权限 */public class sonDemo1 extends fatherDemo1 {    public static void main(String[] args) {        fatherDemo1 yy = new fatherDemo1();        //yy.show1();        yy.show2();        yy.show3();        yy.show4();    }}/*运行结果:   this is void show2()   this is protected void show3()   this is public void show4()  实验记录:      在同一包名下,子类去调用父类的成员方法,父类中的private修辞的成员方法是无法访问的。  实验结论:      同包内,子类不能访问父类的私有成员方法(即用private 修辞的方法)。 * */

3

step3:在包名【package  myFiles_012】下再添加1个类,本例类名:public class sonDemo2 { }  ,  内容如下:package myFiles_012;/** * 本类sonDemo2,与fatherDemo1无继承关系   这两个类是同包的 * 探究:sonDemo2类访问fatherDemo1方法的权限 */public class sonDemo2 {    public static void main(String[] args) {        fatherDemo1 my = new fatherDemo1();       // my.show1();        my.show2();        my.show3();        my.show4();    }}/*运行结果:   this is void show2()   this is protected void show3()   this is public void show4()  实验记录:      在同一包名下,A类去调用B类的成员方法,B类中的private修辞的成员方法是无法访问的。  实验结论:      同包内,被调用的类中私有成员方法(即用private 修辞的方法)是不能被访问的。 * */

4

step4:新建包  本例包名【package  myFiles_013】,接着在该包内添加1个类,本例类名:public class mysonDemo2 {}  将它继承fatherDemo1.内容如下:package myFiles_013;import myFiles_012.fatherDemo1;/** * 本类mysonDemo1 继承于不同包名下的fatherDemo1 */public class mysonDemo2 extends fatherDemo1 {    public static void main(String[] args) {        fatherDemo1 you = new fatherDemo1();       /* you.show1();        you.show2();        you.show3();*/        you.show4();    }}/*运行结果:      this is public void show4()  实验记录:      在不同包名下,子类去调用父类的成员方法,父类中只有公有的方法(即用public修辞的成员方法)才能被访问到。  实验结论:      在不同包名下,子类去调用父类的成员方法,父类中只有公有的方法(即用public修辞的成员方法)才能被访问到。 * */

5

step5:在包名【package  myFiles_013】下再添加1个类,本例类名:public class mysonDemo1  { }  ,  内容如下:package myFiles_013;import myFiles_012.fatherDemo1;/** * 本类mysonDemo1与fatherDemo1不同包,不存在继承关系 * 探究:在这种情况下的访问权限 */public class mysonDemo1 {    //在本类内调用fatherDemo1中的成员方法    public static void main(String[] args) {        fatherDemo1 pig = new fatherDemo1();        /*pig.show1();        pig.show2();        pig.show3();*/        pig.show4();    }}/*运行结果:   this is public void show4()  实验记录:      在不同包名下,A类去调用B类的成员方法,B类中只有公有的方法(即用public修辞的成员方法)才能被访问到。  实验结论:      在不同包名下,被访问类中只有公有的方法(即用public修辞的成员方法)才能被调用到。 * */

6

step6:/*最后总结:1、在本类内声明的成员方法,不管用什么修辞符修辞,本类内都能访问到。 2、私有(即用private 修辞)的成员方法只有在本类内访问到。 3、共有(即用public修辞)的成员方法,在任务包名下的任何类内都能访问到。 4、受保护(即protected修辞)和默认(无修辞符)的成员方法,不能在其它包名下访问到。 */

推荐信息