Java访问修饰符 protected、private、public

 

package com.packageimport.importone;

public class ProtectKey {
    //protected 修饰的变量,子类访问权限(继承访问权限),只在本package中才能方案,其他的package中不能访问
    protected String name;
    // private 修饰的变量 私有变量,仅在本类中才能访问
    private int age;
    // public 修饰的字段 公共的,全局的 在所有的地方都能进行方访问
    public String mail;
    // 没有任何修饰 默认  包访问权限,只能在当前包中进行访问
    String hobby;

    // private protected  public修饰的方法  访问权限同修饰变量一致

    //alt + insert 快捷键生成私有变量的值的获取和设置的方法
    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

----------------------
package com.packageimport.importone;

public class User {
    String name;
    private int age;  // 只能在包的类里面才能使用,private 私有变量 只在本类中访问
    String sex;

    int getAge(){
        return this.age;
    }
    void setAge(int age){
        if(age<=0){
            System.out.println("age not should litter 0");
            return;
        }
        this.age = age;
    }

    void show(){
        System.out.println("姓名:"+name);
        System.out.println("年龄:"+age);
    }
}

class Test{
    public static void main(String[] args) {
        User user = new User();
        user.name="小明";
        //user.age = 18   private变量不能直接访问,私有变量,只能在本类中使用,只能使用类型中封装的方法进行访问
        user.setAge(-18); // 使用本类中的方法进行访问age变量
        user.show();

    }
}






----------------------
import com.packageimport.importone.User;

import java.util.Arrays;

public class TestUser {

    public static void main(String[] args) {
        User user = new User();
        int[] arr = {10,20,15};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));

        ProtectKey pk = new ProtectKey();
        pk.mail="dance@163.com";
        System.out.println(pk.mail);
        //private 修饰的age,不能使用pk.age 访问,私有变量,仅能在本类中使用
        //pk.age; 不能访问
        pk.setAge(6);
        System.out.println(pk.getAge());
        //protected 修饰的name,子类权限,仅在本package中能直接访问
        //pk.name;不能访问
        pk.setName("zhangsan");
        System.out.println(pk.getName());
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值