学类与对象的时候脑海里浮现出的小程序
我顺手就把他写了下来
学习就是这样
要乐在其中
/*
需求:编写一个模仿人的程序可以说话,可以哭,可以有年龄有名字,可以比较年龄,并根据不同的情况做出不一样的反映。
思路:编写一个人的类,把所有有关人的属性全部封装进人的类中。通过主程序创建人的对象而初始化人的属性。
过程:
1.预先定义一个人的类。
2.创建有关年龄姓名的的属性。并且封装在类内,禁止外部直接访问,提供方法以调用相关属性
3.创建说话的方法,让人的对象具有说话的功能,并且可以说出自己的名字和年龄。
4.可以创建多个人互相比较年龄。
*/
public class NewDemo {
public static void main(String[] agrs)
{
People p=new People();
People p1=new People();
p.setname("史蒂夫");
p.setage(20);
p.say();
p1.setname("马克思");
p1.setage(21);
p1.say();
p.agebj(p1);
p1.agebj(p);
}
}
class People
{
private int age;
private String name;
private static boolean q=true;//此变量用来控制比较年龄时的公平性,当年龄相等时先说的具有优先当哥哥权利。
People()
{
}
/**
此方法是人说话的方法,可以说出自己的年龄和名字。
*/
public void say()
{
System.out.println(this.name+":我叫"+this.name+",我"+this.age+"岁了,谢谢你创造了我!!!");
}
/**
此方法是获取人物名字的方法提供给外部使用。
*/
public String getname()
{
return name;
}
/**
此方法是定义人物名称的方法,提供给外部使用。
*/
public void setname(String name)
{
this.name=name;
}
/**
此方法是获取人物年龄的方法,提供给外部使用。
*/
public int getage()
{
return age;
}
/**
此方法是定义人物年龄的方法,提供给外部使用。
*/
public void setage(int age)
{
this.age=age;
}
/**
此方法是定义人物哭泣的方法,是私有方法只在本类内使用。
*/
private void cry()
{
System.out.println(this.name+":呜呜呜呜呜呜呜~~~~~~~~~");
}
/**
此方法定义了人的比较年龄的方法,人和人之间可以互相比较年龄,可以根据年龄的大小做出相应的反应。
*/
public void agebj(People a)
{
if(a.getage()<this.age)
{
System.out.println(this.name+":"+a.getname()+"没有我大,我"+this.age+"岁了,他才"+a.getage()+"岁,我比他大"+(this.age-a.getage())+"岁,"+a.getname()+",叫哥哥,哈哈哈!!");
//年龄比别人大会做出得意的行为
}
else if(a.getage()>this.age)
{
System.out.println(this.name+":"+a.getname()+"比我大,我才"+this.age+"岁,他已经"+a.getage()+"岁了,他比我大"+(a.getage()-this.age)+"岁,"+a.getname()+"哥哥,你好!!");
//年龄比别人小会做出保守行为
}
else
{
if(q==true)
{
//年龄一样大先说的会做出无耻行为
System.out.println(this.name+":"+a.getname()+"和我一样大,我"+this.age+"岁了,他也"+a.getage()+"岁了,但是,我比他高,"+a.getname()+",那也得叫哥哥,哈哈哈!!");
q=false;
}
else
{
//年龄跟别人一样大而且你又是后说的你就哭吧
cry();
System.out.println(this.name+":这不公平,咱们明明一样大嘛,为啥要叫你哥哥。不公平!!!呼~呼~呼~~~");
}
}
}
}
|