package Animal;
/*
比如:海软的新学报到;
报到的流程是:
1.新生接待处
2.然后分别去相应的系部签到\信息管理系\软件系\电子工程系\.. 所有肯定来的新生是海软的
学生,去哪个系报到是不确定的!等去接到新生才知道去哪个了系部,才肯定他是什么系部的!
*/
public class Newborn{
public static void main(String[] args){
information x= new information ("张三","男",18,"信息管理系,");//子类(信息管理系)
x.Informationstudent() ;
Software f=new Software("李四","男",18,"软件技术系,");//子类(软件技术系)
f.SoftwareStudents();
}
}
abstract class XINSHENG{
String name;//姓名
String Gender;//性别
int Age;//性别
String Thof;//系部
XINSHENG(String name,String Gender,int Age,String Thof){//构造函数
this.name=name;
this.Gender=Gender;
this.Age=Age;
this.Thof=Thof;
}
public abstract void show(); //抽象的函数是没有方法体的 有abstract关键字做修饰
public void fun(){//普通方法
System.out.println("这些学生去哪里报到呢?");
}
}
class information extends XINSHENG {//信息管理系学生
information(String name, String Gender, int Age, String Thof){//构造函数
super(name, Gender, Age, Thof);//访问父类的
}
public void show() {//强制要求覆写
}
public void Informationstudent (){
System.out.println("姓名:"+name+" "+"性别:"+Gender+" "+"年龄:"+ Age+" "+"系部:"+Thof+"学生去信息管理系报到");
}
}
class Software extends XINSHENG{//软件技术系
Software(String name, String Gender, int Age, String Thof) {
super(name, Gender, Age, Thof);//访问父类
}
public void show(){//强制要求覆写
}
public void SoftwareStudents(){
System.out.println("姓名:"+name+" "+"性别:"+Gender+" "+"年龄:"+ Age+" "+"系部:"+Thof+"学生去软件技术系报到");
}
}
/*
抽象类中的方法不一定要必须是抽象方法,可以有抽象方法,和非抽象方法.其中非抽象方法
往往都是抽象类的所有子类所具有的,而抽象方法则由具体的不同子类实现不同的方法。
2.抽象方法和抽象类都必须加 abstract 关键字 修饰
3.抽象类不可以创建实例化 new 创建对象 因为调用抽象方法没有意义。
4.抽象类中的抽象方法要被使用,必须子类复写起使所有抽象方法后
建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
/*
比如:海软的新学报到;
报到的流程是:
1.新生接待处
2.然后分别去相应的系部签到\信息管理系\软件系\电子工程系\.. 所有肯定来的新生是海软的
学生,去哪个系报到是不确定的!等去接到新生才知道去哪个了系部,才肯定他是什么系部的!
*/
public class Newborn{
public static void main(String[] args){
information x= new information ("张三","男",18,"信息管理系,");//子类(信息管理系)
x.Informationstudent() ;
Software f=new Software("李四","男",18,"软件技术系,");//子类(软件技术系)
f.SoftwareStudents();
}
}
abstract class XINSHENG{
String name;//姓名
String Gender;//性别
int Age;//性别
String Thof;//系部
XINSHENG(String name,String Gender,int Age,String Thof){//构造函数
this.name=name;
this.Gender=Gender;
this.Age=Age;
this.Thof=Thof;
}
public abstract void show(); //抽象的函数是没有方法体的 有abstract关键字做修饰
public void fun(){//普通方法
System.out.println("这些学生去哪里报到呢?");
}
}
class information extends XINSHENG {//信息管理系学生
information(String name, String Gender, int Age, String Thof){//构造函数
super(name, Gender, Age, Thof);//访问父类的
}
public void show() {//强制要求覆写
}
public void Informationstudent (){
System.out.println("姓名:"+name+" "+"性别:"+Gender+" "+"年龄:"+ Age+" "+"系部:"+Thof+"学生去信息管理系报到");
}
}
class Software extends XINSHENG{//软件技术系
Software(String name, String Gender, int Age, String Thof) {
super(name, Gender, Age, Thof);//访问父类
}
public void show(){//强制要求覆写
}
public void SoftwareStudents(){
System.out.println("姓名:"+name+" "+"性别:"+Gender+" "+"年龄:"+ Age+" "+"系部:"+Thof+"学生去软件技术系报到");
}
}
/*
抽象类中的方法不一定要必须是抽象方法,可以有抽象方法,和非抽象方法.其中非抽象方法
往往都是抽象类的所有子类所具有的,而抽象方法则由具体的不同子类实现不同的方法。
抽象类的特点:
2.抽象方法和抽象类都必须加 abstract 关键字 修饰
3.抽象类不可以创建实例化 new 创建对象 因为调用抽象方法没有意义。
4.抽象类中的抽象方法要被使用,必须子类复写起使所有抽象方法后
建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;
结果输出:
姓名:张三 性别:男 年龄:18 系部:信息管理系,学生去信息管理系报到
姓名:张三 性别:男 年龄:18 系部:软件技术系,学生去软件技术系报到
本例子创建了两对象
*/