【java学习笔记2】访问控制修饰符 public、protected、默认、private

先写了一个User()类:

package chapter01;

public class User {

    // 私有的
    private int id;

    // 受保护的
    protected int age;

    // 公开的
    public int weight;

    // 默认的
    String name;
}

 

在同包下创建一个新类Test2()类:

分别访问User()类下的4个变量,private修饰的id,无法访问!

package chapter01;

public class Test02 {

    public static void main(String[] args) {

        User user = new User();

        // private 修饰的元素,只能在本类中使用
//        System.out.println(user.id);

        System.out.println(user.age);

        System.out.println(user.weight);

        System.out.println(user.name);

    }
}

 

在不同包下创建Test03()类,分别访问User()类下的变量,只有public修饰的变量可以访问!

package chapter02;

import chapter01.User;

public class Test03 {

    public static void main(String[] args) {

        User user = new User();

        // 受保护的
//        System.out.println(user.age);

        // public修饰的,在任何位置都可以使用
        System.out.println(user.weight);

//        System.out.println(user.name);

    }
}

 

最后在不同包下创建一个类,继承User()类,可以访问protected修饰的变量,不能访问默认的变量name!

package chapter02;

import chapter01.User;

// private 私有的,只能在本类中访问
// public 公开的,在任何位置都可以访问
// protected 受保护的,只能在本类、同包、子类中访问
// 默认的,只能在本类、同包下访问


public class Test04 extends User {

    public void go(){
        System.out.println(this.age);

//        System.out.println(this.name);
    }
}

 

总结:

 

posted @ 2020-12-23 09:27  愚人李愚  阅读(273)  评论(0编辑  收藏  举报