1、编写一个类Teacher,代表教员,要求如下:a) 具有属性:姓名,年龄,其中年龄不能
小于26岁,否则输出错误信息b) 具有方法:自我介绍,负责输出该教员的年龄,姓名c) 编写测试类
TeacherTest进行测试,看是否符合要求。
class Teacher{
private String name;
private int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
if(age<26)
System.out.println("错误信息b");
else
this.age=age;
}
public int getAge(){
return age;
}
public void introduce(){
System.out.println("教员的年龄为:"+getName()+"\t教员的姓名为:"+getAge());
}
}
2、编写一个类Teacher2,代表教员,要求如下a) 具有属性:姓名,年龄,性别和专业 b)
具有方法:自我介绍,负责输出该教员的年龄,姓名,性别和专业c) 具有两个带参的构造方法,第一个
构造方法中,设置教员的性别为男,专业为Java,其余属性的值由参数给定,第二个构造方法中,所有
属性的值都由参数给定d) 编写测试类Teacher2Test,分别以两种方式完成对两个Teacher2对象的初始
化工作,并分别调用它们的自我介绍方法,看看输出结果是否正确。
public class Teacher2 {
String name,sex,major;
int age;
public Teacher2(String name,String sex,int age){
this.age=age;
this.major="java";
this.name=name;
this.sex=sex;
}
public Teacher2(String name,String sex,int age,String major){
this.age=age;
this.major=major;
this.name=name;
this.sex=sex;
}
public void outPut(){
System.out.println("该教员的年龄:"+age+"姓名:"+name+"性别"+sex+"专业"+major);
}
}
public class Teacher2Test {
public static void main(String[]args){
Teacher2 teacher21=new Teacher2("zzx","男",19);
Teacher2 teacher22=new Teacher2("lx","男",19,"c#");
teacher21.outPut();teacher22.outPut();
}
}
3、使用面向对象的思想描述游戏中的怪物问题描述某公司要开发新游戏,请用面向对象的思
想设计怪物类,设定属性包括:怪物名字、生命值、攻击力、 防御力;方法包括:攻击的方法,防御的
方法.
要求:1、通过构造函数实现属性赋值 2、攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻
击力
3、防御方法通过输入参数接收攻击力。需要判断,如果攻击力小
于防御力,伤害值=0;反之伤害值=攻击力 -防御力
根据伤害值情况,显示不同的防御信息。内容包括怪物名字,
防御力,防御后的生命值.4、编写测试方法,通过构造函数实例化怪物类的对象,并调用相关方法(测
试数据信息自定)运行效果:
public class Monster {
String monstername;
int Hp,aggressivity,defense;
public Monster(String monstername,int Hp,int aggressivity,int defense){
this.monstername=monstername;
this.Hp=Hp;
this.aggressivity=aggressivity;
this.defense=defense;
}
public void aggressivityMethod(){
System.out.println("怪物"+monstername+"展开攻击");
System.out.println("当前生命值是:"+Hp);
System.out.println("攻击力是:"+aggressivity);
}
public void defenseMothod(int aggressivity){
int value;
if (aggressivity<defense) {
System.out.println("防御成功!");
}
else {
value = aggressivity - defense;
Hp=Hp-value;
System.out.println("防御失败!");
System.out.println(monstername+"以"+defense+"的防御力未能抵御进攻");
System.out.println("当前生命值为:"+Hp);
}
}
}
public class MosterTest {
public static void main(String[]args){
Monster monster=new Monster("怪小怪",300,10,20);
monster.aggressivityMethod();
monster.defenseMothod(25);
}
}
4、简述你对this关键字的理解
1.this关键字调用成员变量,解决与局部变量的名称冲突问题。
2.this关键字调用其他构造方法只能在构造方法中调用不能在成员方法中调用。
3.this关键字调用构造方法的语句必须是该方法的第一条执行语句,且只能出现一次。
5、说说构造方法的特点
1.给成员变量进行赋值。
2.没有返回值
3.不能存在return语句
4.方法名与类名一样