zoukankan      html  css  js  c++  java
  • 【java基础】访问权限修饰符

    访问修饰符

    通过控制方法、属性的不同访问权限,对外部暴露必要的接口,提供给客户程序员使用。将外部的功能和内部实现分隔。客户程序员无需关心内部实现。
    这样在以后修改内部的具体实现细节(比如HashMap的优化),不会影响到客户程序员的使用。

    public

    所有的包都可以访问public属性

    protected

    只有同一个包下的类可以访问,或者虽然不在同一包下,但是继承父类,就可以访问到protected属性。

    friendly

    必须在同一个包下,才能访问到默认属性。即使不在同一个类也可以访问到。

    private

    只能在当前类下能够访问


    可结合如下代码理解

    package study.basic.demo01;
    
    public class Person {
        public String publicName;
    
        protected int protectedAge;
    
        int fridenlyHight;
    
        private String privateId;
    
        public static void main(String[] args) {
            Person person = new Person();
            person.publicName="json";
            person.protectedAge=12 ;
            person.fridenlyHight=180;
            person.privateId="123123";//在同一个包下的同一个类,所有属性都可以访问到
        }
    }
    
    class Jake{
        public static void main(String[] args) {
            Person person = new Person();
            person.publicName="jake";
            person.protectedAge=23;
            person.fridenlyHight=172;//在同一个包下,但不是同一个类。可以访问到friendly
    
        }
    }
    
    


    package study.basic.demo02;
    
    import study.basic.demo01.Person;
    
    public class Animal {
        public static void main(String[] args) {
            Person person = new Person();
            person.publicName="jane";//不在同一个包下,只能访问到 public
        }
    }
    
    class Tom extends Person{
        public static void main(String[] args) {
            Tom tom = new Tom();
            tom.publicName="tom";
            tom.protectedAge=12;//不在同一个包下,但是继承了person类,可以访问到protected
        }
    }
    
    
  • 相关阅读:
    hdu 4496 D-City 并查集
    hdu 1257 小希的迷宫 并查集
    HDU 3974 Assign the task 图论/线段树区间更新,单点查询
    cdoj 1070 秋实大哥打游戏 带权并查集
    NumPy 广播(Broadcast)
    NumPy 高级索引
    NumPy 切片和索引
    NumPy 从数值范围创建数组
    Wasserstein距离
    JS散度
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/15236084.html
Copyright © 2011-2022 走看看