class Person
{
private String name;
private int age;
public void setName(String name)
{
this.name = name;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
public String say()
{
return "姓名:" + this.name + "年龄:" + this.age;
}
}
class Student extends Person
{
// private String name;
// private int age;
private String school;
// public void setName(String name)
// {
// this.name = name;
// }
// public void setAge(int age)
// {
// this.age = age;
// }
public void setSchool(String school)
{
this.school = school;
}
// public String getName()
// {
// return this.name;
// }
// public int getAge()
// {
// return this.age;
// }
public String getSchool()
{
return this.school;
}
public String say()
{
return "姓名:" + this.getName() + ",年龄:" + this.getAge() + ",学校:" + this.getSchool();
}
}
public class javaoo01
{
public static void main(String arg[])
{
Student s = new Student();
s.setName("张三");
s.setAge(30);
s.setSchool("MLDN人才培养础地");
System.out.println(s.say());
}
}
姓名:张三,年龄:30,学校:MLDN人才培养础地
class A
{
}
class B
{
}
class C extends A,B
{
}
//java只支持单继承,不允许多继承
//java允许有多层继承。java允许多层继承,而不能多重继承,一个子类只能有一个父类,一个父类可以有多个子类
class A
{
}
class B extends A
{
}
class C extends B
{
}
子类对象实例化的过程
子类对象实例化 ---à父类无参构造函数 -----à子类构造函数
class A
{
public A()
{
System.out.println("1、public A() {}");
}
}
class B extends A
{
public B()
{
//此处隐含一段码 super(); 超类
System.out.println("2、pbulic B() {}");
}
}
public class javaoo01
{
public static void main(String args[])
{
B b = new B();
}
}
//1、public A() {}
//2、pbulic B() {}
方法的复写
注:子类复写父类的方法时,被复写的方法不能比父类拥有更严格的访问权限
覆写;1、方法名称完全一样,参数也要一样,在覆写之后子类调用的永远是覆写之后的方法 2、覆写时子类方法的权限不能比父类拥有更严格的访问权限。覆写之后的根最好与父类中保持一致()
class A
{
void fun1()
{
System.out.println("* 1、A ---> public void fun1()");
}
}
class B extends A
{
public void fun1()
{
System.out.println("* 2、B ---> public void fun1()");
}
}
public class javaoo01
{
public static void main(String args[])
{
B b = new B();
b.fun1();
}
}
* 2、B ---> public void fun1()
权限:
三种: 1、public :权限最大,任何人都可以访问
2、默认(default);仅次于public
3、private :权限最小,只能在一个类中访问