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();
}
}
运算结果如下: