• 访问权限系列一(public/private/protected/default):成员变量


    通过两个程序包对自身或互相之间的访问,得到结果.(先编译Test_01,得到class文件,通过Test的集中访问情况)

    如下Test.java中内容:





    package com.java;
    /* * 关于成员变量多种情况下的访问权限: * ------------------------------------------------------------------------------ * public private protected default * 1 同一个包,同一个类 可以 可以 可以 可以 * * 2 同一个包,不同的类 可以 不可以 可以 可以 * * 3 不同的包里的类 可以 不可以 不可以 不可以 * * 4 同一个包里有继承关系的类 可以 不可以 可以 可以 * * 5 不同的包里有继承关系的类 可以 不可以 可以 不可以 *-------------------------------------------------------------------------------- * 结论: public都可以访问; private只有在同一个类里才能直接访问; protected同一个包里可以访问,若想跨包访问,必须有继承关系; default只有同一个包里的可以访问; * */ import cn.java.Test_01; import cn.java.test_02; //public class Test{ //这里1,2,3用;---->1不用实验public是公开的,都可以; public class Test extends Test_01{ //这里4,5用; public static void main(String[] args){ /*-------------------------2--------------------------- A T = new A();//同一个包,不同的类; System.out.println( T.m_1() ); System.out.println( T.m_2() ); System.out.println( T.m_3() ); System.out.println( T.m_4() );// 报错:m_4()可以在A中访问private */ /*-------------------------3--------------------------- Test_01 T = new Test_01();//不同的包里的类,没有继承关系; System.out.println( T.m_1() );//可以 System.out.println( T.m_2() );//报错:m_2在Test_01里不是公共的,无法从外部程序包中访问; System.out.println( T.m_3() );//不可以 System.out.println( T.m_4() );//不可以 */ /*-------------------------4---------------------------- A T = new A();//同一个包里的不同类,有继承关系; System.out.println( T.m_1() );//可以 System.out.println( T.m_2() );//可以 System.out.println( T.m_3() );//可以 System.out.println( T.m_4() );//报错: 可以在类A中访问; */ /*-------------------------5---------------------------- Test T = new Test(); System.out.println( T.m_1() );//可以 System.out.println( T.m_2() );//m_2不是公共的,无法从外部程序包中访问; System.out.println( T.m_3() );//可以 System.out.println( T.m_4() );//可以在Test_01中访问; */ } } class A{ public int m_1(){return 1;} int m_2(){return 1;} protected int m_3(){return 1;} private int m_4(){return 1;} }
    如下是Test_01.java的内容:





    package cn.java;
    public class Test_01{ //成员变量 public int i_1 = 100; int i_2 = 200;//默认default protected int i_3 = 300; private int i_4 = 400; //成员方法 public int m_1(){ return 1; } int m_2(){ return 1; } protected int m_3(){ return 1; } private int m_4(){ return 1; } }



    
    
    
     
  • 相关阅读:
    SVN+Axure版本管理&协同设计(一)
    postgresql数据库删除时提示回话 sessions using the database
    odoo开发笔记 -- many2one搜索更多增加默认过滤条件
    Docker Ubuntu中安装ping ifconfig命令
    odoo开发笔记 -- div标签代替odoo button写法
    odoo开发笔记 -- 模型字段定义中设置默认值
    linux 清空历史命令
    linux 根据端口查看系统进程
    odoo开发笔记 -- self详解
    odoo开发笔记 -- 传递上下文实现列表视图按照指定条件过滤显示
  • 原文地址:https://www.cnblogs.com/yizhimichong/p/4721748.html
Copyright © 2020-2023  润新知