java面向对象------- 封装

一、封装访问控制符

     本类     同一包下(子类和无关类)  不同包下(子类)   不同包下(无关类)

Private    y

默认        y              y

Protect     y              y                       y

Public      y              y                      y                   y


package java面向对象;

/**
* 测试封装,private
*/
public class TestEncapsulation {
public static void main(String[] args) {
Human h=new Human();
//h.name="hahah";对象不能使用类中私有属性

}
}

class Human{
private String name;
int age;
void sayName(){
System.out.println(name);
}
}

class Boy extends Human{

void sayhello(){
// System.out.println(name);//子类无法使用父类的私有属性和方法
}

}

二、封装细节的使用
package java面向对象;

/**
* 测试封装使用细节
*/
public class Person2Encapsulation {
private int id;
private String name;
private int age;
private boolean man;
//外部要使用这些属性时,调用set个get方法
public void setName(String name){
this.name=name;
}
public void setAge(int age){
if(age>=18&&age<=130){
this.age=age;
}
else {
System.out.println("请输入正常年龄");
}

}

public int getAge() {
return this.age;
}

public static void main(String[] args) {
Person2Encapsulation p2=new Person2Encapsulation();
//通过set方法操作类中私有属性,必须符合类中的设置的要求
p2.setAge(20);
//通过get方法获取私有类中的属性
System.out.println(p2.getAge());

}
}
posted on 2019-05-19 19:34  zz测试笔记  阅读(226)  评论(0编辑  收藏  举报