JAVA构造函数(二)----一个简单的面向对象程序

本文对构造方法(函数)给出例子,进一步了解Java面向对象特性

要求:

  • 完成一个java application 应用程序,描述一个人类。要求如下:

  • 要求此人类必须包含有人的姓名、性别、出生日期等基本属性(变量)。

  • 要求此人类描述吃饭的方法(函数)和描述睡觉的方法(函数)。例如睡觉方法的执行体为一个 System.out.println() 函数,此函数输出一段例如“ xx(姓名)往床上躺倒,不久就睡着了……”之类的描述睡觉的文本。

  • 要求此人类的构造函数要具有无参数的构造函数,以及带有姓名、性别、出生日期等参数的构造函数,并在构造函数中输出一段描述xx(姓名)出生的文本。

  • 实例化出张三和李四两个人类对象(变量),并为之赋初值。

  • 调用张三、李四等人类对象的各种属性(类成员变量)和方法(函数)。

  • 在上述人类的基础上派生一个继承自人类的新的学生类,加入学号等学生特有的属性,加入上课、考试等方法,并实例化一个或几个学生类对象,完成这些学生类对象的各种属性和方法的调用。

主要方法:

  1. 构造无参方法(函数)和有参方法(函数)。
  2. 通过extends继承超类的变量和方法,并添加自己独有的元素。(在java语言中,被继承的类称为超类,继承类被称为子类。)
  3. 使用super访问超类构造函数。

程序如下:

class Person {
public	 String name; //声明姓名变量
public 	 String sex;  //声明性别变量
public 	 String birth;//声明生日变量
	
	//描述吃饭的方法
	void eat() {  
		System.out.println("合理搭配,注意养生。");
	}
	
	//描述睡觉的方法
	void sleep() {
		System.out.println("十一点半之前要睡觉,少熬夜。");
	}
	
	// 构造一个Person函数
	Person(String n, String s, String b) {
		name = n;
		sex = s;
		birth = b;
	}
	
	//描述基本信息的方法
	void disc() {
		System.out.println("姓名:"+ name + "  性别:" + sex + 
	                    "  出生年月:" + birth);
	}
	
}

//创建一个子类(用extends)
class Student extends Person {
	Student(String n, String s , String b) {
		super(n,s,b ); // 使用super()调用Person的构造函数
	}
	String num ;// 声明学号变量
	//输出学号
	void showNum() {
		num = "2018666";
		System.out.println("学号:"+num);
	}
	//描述上课的方法
	void learn() {
		System.out.println("上课要认真对待。");
	}
	//描述考试的方法
	void exam() {
		System.out.println("诚信考试,决不作弊。");
	}
}

class PersonDemo {
	public static void main(String[] args) {
		
	//创建对象
	Person one = new Person("张三", "男", "1995年8月1日");
	Person two = new Person("李四", "女", "1996年7月1日");
	Student ming = new Student("明卓","男","1995年6月1日");  //子类对象
	
	//调用属性和方法
	one.disc();
	one.eat();
	one.sleep();
	System.out.println();
	two.disc();
	two.eat();
	two.sleep();
	System.out.println();	
	ming.disc();
	ming.showNum();
	ming.eat();
	ming.sleep();
	ming.learn();
	ming.exam();	
	}
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值