中英文切换有点麻烦,为了让编程效率更快,决定练习使用英文注释,完成整个程序后,在添加中文注释。这样既免去了中英文切换的麻烦(实际上非常的麻烦!),还可以提高英文水平,熟悉专业术语。
本期遇到的问题是:1.如何保证不会将一个浮点数据输入给age呢?即禁止默认的类型转化,未解决
2.我可以指定null到age吗?实验证明不行(提示需要int,找到空型) 解决:String类默认是NULL,可以将NULL赋给String,int ,char,float,byte等默认值为0,boolean默认为flase
3.类名可以和其他类的函数名相同吗?(我把类名改成compare后,程序正常运行)
command:define a class of student,it includes such elements:name, age 定义一个学生类,包括名字,年龄
and interfaces(ports) to use and change the elements;还需要一些接口来访问私有成员变量
it also includes some simple methods(for exemple:comparing age with the other objects);包括一个比较年龄的简单的成员方法
to pratice the construct function,I also need different constructs;为了练习构造函数,我需要不止一个构造函数
PS:the clsss may become bigger,so I need make sure the whole programmer is strong;
*/
class Student //TO M:the class name should be upper case 提醒自己,类名首写字母必须是大写
{
private String name;
private int age;//how to make sure that someone won`t input a float into the 'age' 问题,如何保证不会将一个浮点数据输入给age呢?即禁止默认的类型转化
Student()
{
//this.name=null;
//this.age=null;//can I assign NULL to a int? 我可以指定null到age吗?实验证明不行(提示需要int,找到空型)
System.out.println("objects A created sucessed");
}
Student(String name)
{
this.name=name;
//this.age=null;
System.out.println("objects B created sucessed");
}
Student(int age)
{
//this.name=null;
this.age=age;
System.out.println("objects C created sucessed");
}
Student(String name, int age)
{
this.name=name;
this.age=age;
System.out.println("objects D created sucessed");
}
void setName(String name)
{
this.name=name;
}
String getname()
{
return this.name;
}
boolean compare (Student b)
{
if (this.age>b.age)
{
System.out.println(this.name+"is biger");
return true;
}
else
{
System.out.println(this.name+"is smaller");
return false;
}
}
void show ()
{
System.out.println("name:"+name+'\n'+"age="+age);//can it run?转义字符就是这么用的
}
}
class compareStudent//can the class name be the same with other class's function name?类名可以和其他类的函数名相同吗?(我把类名改成compare后,程序正常运行)
{
public static void main(String[] args)
{
Student lily=new Student("lily",20);
Student lilei= new Student("lilei",22);
lily.show();
lilei.show();
lily.compare(lilei);
Student lisa=new Student("lisa",'a');//i input a char,and the output "age" is 97,it's not right!back to line 19 输入char类型的会自动转化成int型,如何避免?
lisa.show();
/*Student hanmeimei=new Student("hanmeimei",20.1);
hanmeimei.show();*/
}
}