访问控制:
private 私有的成员,只能自己内部的成员函数可以访问,外部的类不能访问。子类可以继承私有变量,但是不能访问。
没有修饰符的成员变量,即为default,默认为包权限,只能自己和自己包内的类可以访问。
protected,在类内部的成员函数可以访问,自己包内的类可以访问,他的子类可以访问。
public,在任何地方都可以访问。
对于class类,其修饰符只有两种,一种是什么也不写,即default,只有自己包内部的类可以访问,另一种是public,所有人都能访问。
类的继承与权限控制
(1)java中使用extends关键字实现类的继承机制,其语法规则为:
<modifier> class <name>
[extends <superclass>]
{......}
(2)通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)
(3)java只支持单继承,不允许多继承。 一个子类只能有一个基类,一个基类可以派生出很多子类。
C++可以有多继承。
-----
class Person
{
private String name;
private int age;
private void setName(String name)
{
this.name = name;
}
private void setAge(int age)
{
this.age = age;
}
public void getName()
{
return name;
}
public void getAge()
{
return age;
}
}
class Student extends Person
{
private String school;
public String getSchool()
{
return school;
}
public void setSchool(String school)
{
this.school = school;
}
}
public class Test
{
public static void main(String[] args)
{
Student student = new Student();
student.setName("HWH");
student.setAge(15);
student.setSchool("USTC");
System.out.println(student.getName());
System.out.println(student.getAge());
System.out.println(student.getSchool());
}
}
-----
子类比父类大,子类里面包含了一个父类。