关注
注:以下三个类代码通过了阿里巴巴Java规范插件验证。 1、Student类 /**
* 牛客网第三题——学生类
*/
package com.finersoft.nowcoder;
/**
* 名称:学生类 说明:
*
* @author Finersoft
* @date 2018年3月1日
*/
public class Student {
/** 定义最长寿命为200岁 */
public final int MAXAGE= 200;
/** * 姓名 */
private String name;
/** * 年龄 */
private int age;
/** * @return the name */
public String getName() {
return name;
}
/** * @param name * the name to set to a student */
public void setName(String name) {
if (name != null && name != "") {
this.name = name;
} else {
System.out.println("姓名不能为空");
}
}
/** * @return the age */
public int getAge() {
return age;
}
/** * @param age the age to set to a student */
public void setAge(int age) {
if (age >= 0 && age <= MAXAGE) {
this.age = age;
} else {
System.out.println("请输入一个正常现代人的年龄");
}
}
/**
* 默认构造函数
*/
public Student() {
this("张三", 18);
}
/**
* 带一参数的构造函数
*
* @param name
* 学生姓名
*/
public Student(String name) {
this(name, 18);
}
/**
* 完整参数构造函数
*
* @param name
* 学生姓名
* @param age
* 学生年龄
*/
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 打印学生信息
*/
public void show() {
System.out.println(this.toString());
}
/**
* 转换成字符串操作
*/
@Override
public String toString() {
return "学生信息:\r\n\t姓名:" + this.getName ()+ "\r\n\t年龄:" + this.getAge();
}
public static void main(String[] args) {
//无参构造函数
Student stu1= new Student();
stu1.show();
//一参构造函数
stu1=new Student("牛牛");
stu1.show();
//两参构造函数
stu1=new Student("牛牛",16);
stu1.show();
//修改年龄和姓名
stu1.setAge(20);
stu1.setName("牛可");
stu1.show();
//不能输入错误的年龄
stu1.setAge(-20);
stu1.show();
//不能输入错误的姓名
stu1.setName("");
stu1.show();
}
}
2、Undergraduate类 /**
* 牛客网第三题——研究生类
*/
package com.finersoft.nowcoder;
/**
* 名称:研究生 说明:
*
* @author Finersoft
* @date 2018年3月1日
*/
public class Undergraduate extends Student {
/** 学位 */
private String degree;
/** * @return 学位信息 */
public String getDegree() {
return degree;
}
/** * @param degree 学位信息 */
public void setDegree(String degree) {
if (degree != null && degree != "") {
this.degree = degree;
} else {
System.out.println("学位不能为空");
}
}
/**
* 无参构造
*/
public Undergraduate() {
this("李四", 22, "Java开发");
}
/**
* 单参构造
*
* @param name
* 研究生姓名
*/
public Undergraduate(String name) {
this(name, 22, "Java开发");
}
/**
* 双参构造
*
* @param name
* 研究生姓名
* @param age
* 研究生年龄
*/
public Undergraduate(String name, int age) {
this(name, age, "Java开发");
}
/**
* 完整参数构造
*
* @param name
* 研究生姓名
* @param age
* 研究生年龄
* @param degree
* 学位信息
*/
public Undergraduate(String name, int age, String degree) {
super(name, age);
this.degree = degree;
}
/**
* 转换成字符串操作
*
* @see com.finersoft.nowcoder.Student#toString()
*/
@Override
public String toString() {
return "研究生"+ super.toString() + "\r\n\t学位:" + this.getDegree();
}
/**
* 打印研究生信息
*
* @see com.finersoft.nowcoder.Student#show()
*/
@Override
public void show() {
System.out.println(this.toString());
}
/**
* @param args
*/
public static void main(String[] args) {
// 无参构造函数
Undergraduate stu1 = new Undergraduate();
stu1.show();
// 一参构造函数
stu1 = new Undergraduate("牛牛");
stu1.show();
// 两参构造函数
stu1 = new Undergraduate("牛牛", 23);
stu1.show();
// 完整参数构造函数
stu1 = new Undergraduate("牛客", 24, "Java架构");
stu1.show();
// 修改学位信息
stu1.setDegree("JavaEE");
stu1.show();
// 修改学位信息——报错,学位不能为空
stu1.setDegree("");
stu1.show();
}
}
3、 TestStudent类 /**
* 牛客网第三题——测试类
*/
package com.finersoft.nowcoder;
/**
* 名称:测试学生类
* 说明:
* @author Finersoft
* @date 2018年3月1日
*/
public class TestStudent {
/**
* @param args
*/
public static void main(String[] args) {
Student stu = new Student("牛珂",18);
stu.setAge(20);
stu.setName("牛可可");
stu.show();
Undergraduate stu2= new Undergraduate(stu.getName(),stu.getAge(),"Java虚拟机");
stu2.show();
}
}
查看原帖
点赞 评论
相关推荐
01-07 17:13
广州大学 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
2743次浏览 74人参与
# 刚工作,应该先搞钱or搞成长? #
20772次浏览 159人参与
# 牛客AI体验站 #
15518次浏览 275人参与
# 你觉得第一学历对求职有影响吗? #
229879次浏览 1266人参与
# 找工作中的小确幸 #
80349次浏览 448人参与
# 你觉得技术面多长时间合理? #
168051次浏览 1170人参与
# 实习在多还是在精 #
82710次浏览 509人参与
# 月薪多少能在一线城市生存 #
136368次浏览 898人参与
# 牛友的春节生活 #
11347次浏览 221人参与
# 备战春招/暑实,现在应该做什么? #
7642次浏览 199人参与
# 从夯到拉,锐评职场mentor #
7416次浏览 108人参与
# 实习到现在,你最困惑的一个问题 #
6646次浏览 164人参与
# 春招什么时候投? #
12951次浏览 208人参与
# 制造业的秋招小结 #
143320次浏览 2089人参与
# 电网笔面经互助 #
59660次浏览 476人参与
# 秋招踩过的“雷”,希望你别再踩 #
185648次浏览 1683人参与
# 春节提前走,你用什么理由请假? #
13234次浏览 288人参与
# 距离春招还有一个月,你现在是什么开局? #
9166次浏览 132人参与
# 今年秋招你收到了多少封邮件? #
38260次浏览 280人参与
# 暑期实习什么时候投? #
9396次浏览 198人参与


查看3道真题和解析