java基础_day0022_4个权限修饰符_

来源:互联网 发布:网络推广面试技巧 编辑:程序博客网 时间:2024/05/18 03:33


权限修饰符  可以修饰 类的的三大要素  属性 方法  构造器。 也可以修饰类本身




   private     只能在本类中调用
    
   default     可以在本类 和 同一个包中调用
   
   protected   可以在本类 和 同一个包 及 子类中调用 
   
   pulbic      可以在任何地方调用。



package day08;public class Person {private  String  name;int age;protected int id;public  String desc;}

同一个包下的测试类


package day08;public class TestPerson {public static void main(String[] args) {Person p = new Person();p.age=1;p.desc="描述";p.id=100001;//同一个包下 无法调用  私有的属性    无法调用私有的属性;//p.name="john";}}


不同包下的 子类   及 不同包下的 普通类 

package day08.day02;import day08.Person;public class Student {public static void main(String[] args) {Person  p = new  Person();//只能调用公共的属性和 方法p.desc="dfg";  }}class  Teacher extends  Person {public static void main(String[] args) {Teacher p = new Teacher();p.id=123;p.desc="sd";}}


构造器函数中 this.();   只能在首行


package day08_01;public class TestPerson {public static void main(String[] args) {Person p =new Person();System.out.println(p.getAge());Person p1 =new Person();p1.setAge(34);System.out.println(p1.compare(p));}}class  Person{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void eat(){System.out.println("chifan");}public void sleep(){System.out.println("shuijiao");}public Person() {this.name = "qwe";this.age = 2;}public  Person(int  age){this();//构造器中 只能在首行this.age=age;}public int  compare(Person p){if(this.age >p.age)return 1;else if(this.age<p.age)return -1;elsereturn 0;}}










0 0