包和访问权限(三)

来源:互联网 发布:华为大数据解决方案 编辑:程序博客网 时间:2024/05/16 02:03

1.访问权限与继承

package com. marsroid;

//如果子类和父类不在同一个包当中,则子类无法继承到父类当中的default权限的成员变量和成员函数(有问题)

//如果子类和父类不在同一个包当中,子类可以继承到父类当中的default权限的成员变量和成员函数,但是由于权限不够,无法使用

public class Person {

String name;

int age;


void eat () {

System.out.println("eat");

}

void slepp () {

System.out.println("slepp");

}

}


package com. marsroid;

//import com.marsdroid.Person;

class Student extends Person {

void introduce () {

System.out.println("我的名字是" + name + ",我的年龄是" + age) ;

}

}

如果 private String name;

 private int age;则只能在Person 类中进行使用,即是Student extends Person也不可以使用


2.protected权限

protected权限首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数


protected String name;

protected  int age;

public String name;

public int age; 的区别:如果是protected修饰的变量则只有Person的子类才可以使用;如果是public修饰的变量则无论什么类都可以使用这个变量


权限大小:public > protected > default > private

基本原则:一个类和一个成员变量或者成员函数的权限应该尽可能的小



0 0