Java基础-person类派生出student和teacher

在前一段时间对Java做了一个简单的了解,最近确实有一些迷茫干脆就来整理前段时间学的,写第一个关于Java的博客吧…
言归正传,一个person类派生出来的student和teacher在这里需要用到派生,类的构造,以及this关键字。
派生
简单来说就是一个大的方面又产生两个比较小的方面就好比这一次的题目人类派生出来学生和教师,新派生的可以在其原有的基础上在增加一些新的属性。
类的构造
感觉就是在文件包里面之后每一个属性分别用一个非public类指明(或者类似于一个单独的小函数)
this关键字
1) this调用本类中的属性,也就是类中的成员变量;
2)this调用本类中的其他方法;
3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。
先写一个person类在他上面加一些属性,然后再写派生出的其他的两个。
person类:

package LCL;

public class Person {
	String name;
	String sex;
	int age;
	public void showInfo() {//此处也可不写
		System.out.println("姓名:"+name);
		System.out.println("性别:"+sex);
		System.out.println("年龄:"+age);
	}
}

student:
在这里用到派生也就是所谓的父类,需要用到extends关键字在这里调用的方法是Student extends Person在person的基础上有新加了几个新的属性;

package LCL;//自定义的包的名称

public class Student extends Person{
	String name;
	String sex;
	int age;
	String college;
	String number;
	String department;
	public  Student(String Stuname){
	   this.name = Stuname;
	}
	public void StuAge(int Stuage){
	   age =  Stuage;
	}
	public void StuSex(String StuSex){
	   sex = StuSex;
	}
    public void StuCollege(String Stucollege){
	   college = Stucollege;
	}
    public void StuNumber(String Stunumber){
 	   number = Stunumber;
 	}
    public void StuDepartment(String Studepartment){
    	department = Studepartment;
 	}
    public void showInfo() {
		System.out.println("姓名:"+name);
		System.out.println("性别:"+sex);
		System.out.println("年龄:"+age);
		System.out.println("学院:"+college);
		System.out.println("学号:"+number);
		System.out.println("专业:"+department);
	}
	public static void main(String [] args){
		Student stu1 =new Student("v-w-v");//新建一个人的名称
		stu1.StuAge(21);
		stu1.StuSex("男");
		stu1.StuCollege("信工学院");
		stu1.StuNumber("201805050130");
		stu1.StuDepartment("计算机科学与技术");
		stu1.showInfo();
	}
}

teacher:
在这里用的是和student相同的方法;

package LCL;

public class Teacher extends Person{
	String name;
	String sex;
	int age;
	String college;
	String job;
	String project;
	public  Teacher(String Teaname){
	   this.name = Teaname;
	}
	public void TeaAge(int Teaage){
	   age =  Teaage;
	}
	public void TeaSex(String TeaSex){
	   sex = TeaSex;
	}
    public void TeaCollege(String Teacollege){
	   college = Teacollege;
	}
    public void TeaJob(String Teajob){
 	   job = Teajob;
 	}
    public void TeaProject(String Teaproject){
    	project = Teaproject;
 	}
	public void showInfo() {
		System.out.println("姓名:"+name);
		System.out.println("性别:"+sex);
		System.out.println("年龄:"+age);
		System.out.println("学院:"+college);
		System.out.println("职称:"+job);
		System.out.println("管理班级:"+project);
	}
	public static void main(String [] args){
		Teacher teach1 =new Teacher("李华");
		teach1.TeaAge(29);
		teach1.TeaSex("男");
		teach1.TeaCollege("信工学院");
		teach1.TeaJob("辅导员");
		teach1.TeaProject("计算机科学与技术");
		teach1.showInfo();
	}
}
  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是用 Java 定义抽象类 `Person`、派生类 `Student` 和类 `Teacher` 的代码实现: ```java // 定义抽象类 Person public abstract class Person { protected String name; // 姓名 protected int age; // 年龄 // 构造方法 public Person(String name, int age) { this.name = name; this.age = age; } // 定义抽象方法 sayHello public abstract void sayHello(); } // 定义派生Student public class Student extends Person { private String school; // 学校 // 构造方法 public Student(String name, int age, String school) { super(name, age); this.school = school; } // 实现抽象方法 sayHello @Override public void sayHello() { System.out.println("我是学生,我的名字是" + this.name + ",我今年" + this.age + "岁,我在" + this.school + "上学。"); } } // 定义类 Teacher public class Teacher extends Person { private String subject; // 教授科目 // 构造方法 public Teacher(String name, int age, String subject) { super(name, age); this.subject = subject; } // 实现抽象方法 sayHello @Override public void sayHello() { System.out.println("我是老师,我的名字是" + this.name + ",我今年" + this.age + "岁,我教授的科目是" + this.subject + "。"); } } ``` 以上代码中,`Person` 类是一个抽象类,其中定义了两个属性 `name` 和 `age`,以及一个抽象方法 `sayHello`。`Student` 类和 `Teacher` 类都是 `Person` 类的派生类,它们分别添加了自己的属性 `school` 和 `subject`,并实现了 `Person` 类中的抽象方法 `sayHello`。这样,我们就可以通过 `Student` 类和 `Teacher` 类来创建不同的对象,同时也可以调用 `Person` 类中的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮皮皮皮皮皮卡乒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值