类的设计具体
定义类
java
public class 类名{
//成员变量:修饰符 数据类型 变量名称=初始化值(一般不进行赋值,默认为初始化值)
/* 初始化值:byte short int long为0;
float double为0.0;
boolean为false;
引用类型为null */
//成员方法
//构造器
//代码块
//内部类
}
例如定义一个Student类
首先新建
java
public class Student {//类名首字母建议大写
//属性
String name;
int idnumber;
double averagegrade;
//行为
public void printfname(){
//打印此学生姓名
System.out.println(this.name);
}
public void printfid(){
//打印学号
System.out.println(this.idnumber);
}
}
之后我们就可以创建类的对象
java
Student s=new Student();
然后就可以使用这个对象
java
s.name="李明";
s.idnumber=12345678;
s.averagegrade=96.5;
s.printfid();
s.printfname();
运行结果
定义规则:一个Java文件中可以定义多个class类,但只能定义一个public类,且public修饰的类名必须为文件名
this函数的用法上一篇有写,具体就是用来区分成员变量(全局变量)与局部变量,当变量名相同时,调用全局变量时须加this.,否则调用局部变量
构造方法
格式如下
java
public class 方法名{
修饰符 类名(参数){
方法体;
}
}
如果我们不进行构造方法的定义,系统将给出一个默认的无参的构造方法,定义后则不再提供默认构造方法
定义构造方法步骤如下
空参构造方法
每次创建对象时都会调用一次构造方法
java
public Student(){
System.out.println("true");
}
此时再运行上文代码就会得到如下结果
带参构造
java
public Student(String name,int id){
this.name=name;//为成员变量赋值
this.idnumber=id;
}
此时就可以如下创建一个Student对象
java
Student s1=new Student("小丽",123458);
s1.printfid();;
s1.printfname();;
运行结果
如果类里面只有有参构造,则再创建对象时须输入变量,即如果类里只有上文第二种构造方法,则不能在创建时写
java
Student s=new Student();
所以无论是否使用无参构造或有参构造,都建议将两种方法都写入类内
标准JavaBean类
JavaBean指符合特定编码约定的Java类,用于Java中封装数据
- 类名需要见名知意
- 成员变量需要使用private修饰
- 至少提供无参、带参两种构造方法
- 需要提供每一个成员变量对应的setXX()/getXX()方法
举例:
java
public class User {
//属性
private String name;
private String sex;
private int age;
//空参
public User(){};
//带参
public User(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=age;
}
//get和set方法
public String getName(){
return name;//提供用户名
}
public void setName(String name){
this.name=name;//修改用户名
}
//其余同理
}