关注
注:以下三个类代码通过了阿里巴巴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();
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
03-19 09:58
河海大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# AI让海力士市值突破9000亿美元 #
369次浏览 7人参与
# 百度工作体验 #
335525次浏览 2283人参与
# 在爱玛,骑向未来 #
46350次浏览 440人参与
# 打工人的精神状态 #
155233次浏览 1572人参与
# 职场新人体验 #
193394次浏览 1253人参与
# 百度求职进展汇总 #
731638次浏览 6450人参与
# 工作后,你落下了哪些病根 #
42713次浏览 300人参与
# 机械人,说说你的烦心事 #
149326次浏览 1174人参与
# 简历当中有水分算不算造假? #
176871次浏览 2331人参与
# 机械人,你最希望上岸的公司是? #
218444次浏览 1946人参与
# 你收到了哪些公司的笔试? #
69647次浏览 446人参与
# 米哈游求职进展汇总 #
692164次浏览 3364人参与
# 毕业季,给职场新人一些建议 #
221961次浏览 2608人参与
# 工作压力大,你会干什么? #
83016次浏览 713人参与
# 机械/制造每日一题 #
98110次浏览 1503人参与
# 为了求职,我做过的疯狂伪装 #
88683次浏览 777人参与
# 如果秋招能重来,我会____ #
105747次浏览 514人参与
# 你以为的实习VS真实的实习 #
143044次浏览 758人参与
# 什么专业适合考公 #
69993次浏览 359人参与
# 重来一次,我还会选择这个专业吗 #
467986次浏览 3988人参与
# 应届生第一份工作最好去大厂吗? #
150736次浏览 1230人参与