关注
注:以下三个类代码通过了阿里巴巴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();
}
}
查看原帖
点赞 评论
相关推荐
09-12 10:06
郑州大学 Java 棉花木木森想要工作:美团大部分几乎只测不开,兄弟还是要想好退路,而且美团在上海生活成本和压力这个也要考虑,武汉离河南也挺近,房价也没那么高,且作业帮还是后端,如果是我我选作业帮
点赞 评论 收藏
分享
_hengheng:都是做开发的,评论氛围有点奇怪啊,要我末二本有这样的offer我肯定比楼主还骄傲,恭喜呀
点赞 评论 收藏
分享
昨天 09:58
门头沟学院 前端开发其它 点赞 评论 收藏
分享
牛客热帖
正在热议
# 机械人,你最希望上岸的公司是? #
40860次浏览 1039人参与
# 学信网能看师兄师姐就业去向了 #
55536次浏览 141人参与
# 阿里云管培生,25届技术冲 #
9223次浏览 119人参与
# 软件开发薪资爆料 #
1450228次浏览 16604人参与
# 许愿池 #
149435次浏览 2135人参与
# 你都收到了哪些公司的感谢信? #
131449次浏览 1791人参与
# 海能达校招 #
18776次浏览 279人参与
# 国央企笔面经互助 #
4673次浏览 46人参与
# 如果校招重来我最想改变的是 #
149939次浏览 2155人参与
# 无实习如何秋招上岸 #
536480次浏览 6876人参与
# 正在实习的你,几点下班 #
40881次浏览 321人参与
# 视觉/交互/设计工作体验 #
12394次浏览 170人参与
# 晒一晒我的offer #
6120930次浏览 76446人参与
# 应届生应该先就业还是先择业 #
25838次浏览 183人参与
# 选了这个offer,你有没有后悔? #
210762次浏览 1976人参与
# 你还有多少年退休? #
3021次浏览 40人参与
# 你觉得比亚迪今年还有春招吗? #
80990次浏览 510人参与
# 机械人怎么评价今年的华为 #
116624次浏览 895人参与
# 双非本科求职如何逆袭 #
363882次浏览 4847人参与
# 如何看待offer收割机的行为 #
373388次浏览 4136人参与
# 平台or薪资 硬件uu更看重哪个 #
59258次浏览 372人参与
# 你最近一次加班是什么时候? #
12842次浏览 112人参与