零基础学Java第六节(面向对象二)

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
参赛话题:Java学习记录
话题描述:零基础学习Java类(面向对象二)
————————————————
版权声明:本文为CSDN博主「Code_ForYou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

本篇文章是《零基础学Java》专栏的第六篇文章,文章采用通俗易懂的文字、图示及代码实战,从零基础开始带大家走上高薪之路!

本篇文章是《零基础学Java》专栏的第六篇文章,文章采用通俗易懂的文字、图示及代码实战,从零基础开始带大家走上高薪之路!

本文章首发于公众号【编程攻略】

继承

创建一个Person类

我们创建一个用于描述的类。我们怎么抽象出一个这个类呢?我们以不同的角度做抽象,得到的属性和行为都会有些区别。这里,我们主要从的社会属性来抽象。为了表示性别,我们先顶一个枚举类型,该枚举类型中有两个值,用于表示,代码如下:

public enum Sex {
   male,female}

上面的代码写入单独的一个源代码文件中:Sex.java,因为上面的枚举类型是需要公开使用的,所以,也需要定义为public,因此,必须将之放在独立的源文件中 。

再定义Person这个类,代码如下:

public class Person{
   
	private String name;//姓名
	private Sex sex;//性别
	private Date birthday;//出生日期
	private String ID;//身份证号

	//下面是一系列上述私有成员变量的setter和getter
	public void setName(String name){
   
		this.name = name;
	}

	public String getName(){
   
		return name;
	}

	public void setSex(Sex sex){
   
		this.sex = sex;
	}

	public Sex getSex(){
   
		return sex;
	}

	public void setBirthday(Date date){
   
		birthday = date;
	}

	public Date getBirthday(){
   
		return birthday;
	}

	public void setID(String ID){
   
		this.ID = ID;
	}

	public String getID(){
   
		return ID;
	}

	public Person(String name, Sex sex, Date birthday, String ID){
   
		this.name = name;
		this.sex = sex;
		this.birthday = birthday;
		this.ID = ID;
	}
}

我们编译上面的Person.java,它所涉及到的相关的类也会一并编译完成,如:Sex.java文件。

定义学生子类

如果我们考虑一个班级的组成,大致有三种类别的人员,学生教师辅导员,我们依次进行定义。这三类都具有所具有的属性,因此,我们没必要在三个类中重新定义那些公共属性,我们只需继承Person类即可。当然,这些类一定也具有不同于普通的属性和行为。先定义学生类。

public class Student extends Person {
   
	private String studentID;//学号
	private Date rollInDate;//入学时间

	public void setStudentID(String studentID){
   
		this.studentID = studentID;
	}

	public String getStudentID(){
   
		return studentID;
	}

	public void setRollInDate(Date rollInDate){
   
		this.rollInDate = rollInDate;
	}

	public Date getRollInDate(){
   
		return rollInDate;
	}

	public Student(String name, 
					Sex sex, 
					Date birthday, 
					String ID, 
					String studentID, 
					Date rollInDate){
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值