JAVA——private封装

private关键字

类的设计原则:

  • 编写类时,类中的所有属性必须使用private封装。
  • 属性若要被外部访问,必须定义setter、getter方法。

    · private用来修饰属性;


    · 使用private修饰之后,内部操作对外部不可见;即私有属性只能在它所在类被访问,外部类不能直接访问

    · 对象不能直接操作属性;

    · 使用private修饰之后,访问私有属性可以私用以下两种方法:

1,setter 方法:主要用于进行属性内容的设置与修改 。

2,getter方法:主要用于属性内容的获取 。

  • 如果想让某个属性不可修改,则不用写setter方法;

setter 方法与 getter 方法的具体使用

 class SetterAndGetter{
 
       //封装,设置私有属性
	private String name;
	private int age;
	
	//构造方法
	public SetterAndGetter(){
	}
	
	//private 封装属性
	     //对name属性进行设置修改的方法
	public void setName(String n){
		name = n;
	}
	   //获取name属性的方法
	public String getName(){
		return name;
	}
	  //对age属性进行设置修改
	public void setAge(int a){
		if(age < 0 || age >= 150){
			System.out.println("输入错误!");
		}
		else{
		age = a;
		}
	}
	   //获取age属性
	public int getAge(){
		return age;
	}
	
	//打印信息方法
	//私有属性可以直接在它本类中使用
	public void intriduce(){
		System.out.println("姓名:"+name+",年龄:"+age);
	}
}
//私有属性在它之外的类中不能直接使用,(不能使用对象直接操作属性)
//必须使用setter方法设置属性值,使用getter方法获取属性的值
 public class SetterAndGetterTest{
	public static void main(String[] args){
		SetterAndGetter sg = new SetterAndGetter();
		sg.setName("kkk");//设置name值
		sg.setAge(20);//设置age值
		sg.intriduce();//获取方法
	}
}

运算结果如下:
在这里插入图片描述
对比无封装属性:
无封装属性的举例如下:

class SetterAndGetter{
     //设置为公共属性,可以直接在外部类中使用
	public String name;
	public int age;
	//构造方法
	public SetterAndGetter(){
	}
	//方法
	public void intriduce(){
		System.out.println("姓名:"+name+",年龄:"+age);
	}
}
//公共属性可以直接在外部类中使用
public class SetterAndGetterTest{
	public static void main(String[] args){
		SetterAndGetter sg = new SetterAndGetter();
		sg.name = "jack";
		sg.age = 23;
		sg.intriduce();
	}
}

运算结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xmfjmcwf/article/details/83996215
今日推荐