class Person{ // 定义Person类 private String name ; // 定义name属性 private int age ; // 定义age属性 public Person(){ System.out.println("父类Person中的构造。") ; } 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 ; } }; class Student extends Person{ // 定义Student类 private String school ; // 定义school属性 public Student(){ super() ; // 默认隐藏 System.out.println("子类Student中的构造。") ; } public void setSchool(String school){ this.school = school ; } public String getSchool(){ return this.school ; } }; public class InstanceDemo{ public static void main(String arsg[]){ Student stu = new Student() ;// 实例化子类对象 stu.setName("张三") ; // 此方法在Student类中没有明确定义 stu.setAge(30) ; stu.setSchool("清华大学") ; System.out.println("姓名:" + stu.getName() + ",年龄:" + stu.getAge() + ",学校:" + stu.getSchool() ) ; } };
class Person{ // 定义父类 void print(){ // 默认的访问权限 System.out.println("Person --> void print()。") ; } }; class Student extends Person{ // 定义继承关系 public void print(){ System.out.println("Student --> void print()。") ; } }; public class OverrideDemo01{ public static void main(String args[]){ Student s = new Student() ; s.print() ; } };
class Person{ // 定义父类 public void print(){ // 默认的访问权限 System.out.println("Person --> void print()。") ; } }; class Student extends Person{ // 定义继承关系 void print(){ // 错误的,降低了访问权限 System.out.println("Student --> void print()。") ; } };
class Person{ // 定义父类 void print(){ // 默认的访问权限 System.out.println("Person --> void print()。") ; } }; class Student extends Person{ // 定义继承关系 public void print(){ super.print() ; // 访问父类中被子类覆写过的方法 System.out.println("Student --> void print()。") ; } }; public class OverrideDemo03{ public static void main(String args[]){ Student s = new Student() ; s.print() ; } };
class Person{ // 定义父类 private void print(){ // 默认的访问权限 System.out.println("Person --> void print()。") ; } public void fun(){ // 定义一个fun方法 this.print() ; // 调用print()方法 } }; class Student extends Person{ // 定义继承关系 void print(){ // 覆写父类中的方法 // super.print() ; // 访问父类中被子类覆写过的方法 System.out.println("Student --> void print()。") ; } }; public class OverrideDemo04{ public static void main(String args[]){ Student s = new Student() ; s.fun() ; } };
class Person{ // 定义父类 public String info = "MLDN" ; // 定义一个公共属性 }; class Student extends Person{ // 定义继承关系 public String info = "LXH" ; // 定义了一个与父类中属性名称一致的属性 void print(){ // 覆写父类中的方法 System.out.println("父类中的属性:" + super.info) ; System.out.println("子类中的属性:" + this.info) ; } }; public class OverrideDemo05{ public static void main(String args[]){ Student s = new Student() ; s.print() ; } };
class Person{ // 定义Person类 private String name ; // 定义name属性 private int age ; // 定义age属性 public Person(String name,int age){ this.setName(name) ; this.setAge(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 getInfo(){ return "姓名:" + this.getName() + ";年龄:" + this.getAge() ; } }; class Student extends Person{ // 定义Student类 private String school ; // 定义school属性 public Student(String name,int age,String school){ super(name,age) ; // 明确调用父类中有两个参数的构造 this.school = school ; } public void setSchool(String school){ this.school = school ; } public String getSchool(){ return this.school ; } public String getInfo(){ return super.getInfo() + ";学校:" + this.getSchool() ; } }; public class SuperDemo01{ public static void main(String arsg[]){ Student stu = new Student("张三",30,"清华大学") ;// 实例化子类对象 System.out.println(stu.getInfo()) ; } };
class Person{ // 定义Person类 private String name ; // 定义name属性 private int age ; // 定义age属性 public Person(String name,int age){ this.name = name ; this.age = age ; } }; class Student extends Person{ // 定义Student类 private String school ; // 定义school属性 public Student(){ // this("LXH",30,"MLDN") ; // 会在此处调用父类的构造,默认调用的是无参 } public Student(String name,int age){ this() ; } public Student(String name,int age,String school){ this(name,age) ; // 明确调用父类中有两个参数的构造 this.school = school ; } }; public class SuperDemo02{ public static void main(String arsg[]){ Student stu = new Student("张三",30,"清华大学") ;// 实例化子类对象 System.out.println(stu.getInfo()) ; } };