目录
标准的JavaBean类
设计对象并使用
对象封装
this关键字
构造方法
要知道对象是一个又一个能帮助我们解决问题的东西,但是这些东西并不是凭空出现的,需要我们根据设计图来进行制造,而这些一个一个的设计图就是一个一个的类。
标准的JavaBean类
1)类名需要见名知意
2)成员变量使用private修饰
3)提供至少两个构造方法(无参构造方法、带全部参数的构造方法)
4)成员方法(提供每一个成员变量对应的get和set方法,如果还有其他行为,也需要写上)
类(设计图):是对象共同特征的描述;对象是真实存在的具体的东西。在Java中必须先设计类才能获得对象。
设计对象并使用
在Java中如何定义类呢?如下:
public class Phone {
// 属性
String brand;
double price;
// 行为
public void call(){
System.out.println("小米手机");
}
public void playGame(){
System.out.println("打游戏");
}
}
在Java中如何得到类的对象呢?如下:
类名 对象名 = new 类名();
Phone p = new Phone();
在Java中如何使用对象呢?如下:
访问属性:对象名.成员变量
访问行为:对象名.方法名(...)
代码如下:
注意:
1)类名首字母建议大写,需要见名知意,驼峰模式。
2)一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名,实际开发中建议一个文件定义一个class类。
3)成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。
对象封装
封装告诉我们,如何正确设计对象的属性和方法,对象代表什么就得封装对应的数据,并提供数据对应的行为
private关键字:是一个权限修饰符(私有),可以修饰成员变量和方法,被private修饰的成员只能在本类中才能访问。
public class Phone {
// 属性
private String brand;
private double price;
// 针对每一个私有化的成员变量,都要提供get和set方法
// set方法:给成员变量赋值
public void setBrand(String n){
brand = n;
}
public void setPrice(double m){
if(m >= 1000 && m<= 3000){
price = m;
}else{
System.out.println("价格太高,我不允许!");
}
}
// get方法:对外提供成员变量的值
public String getBrand(){
return brand;
}
public double getPrice(){
return price;
}
// 行为
public void call(){
System.out.println("小米手机");
}
public void playGame(){
System.out.println("打游戏");
}
}
针对private修饰的成员变量,如果需要被其他类使用,应提供如上相应的操作,set方法用于给成员变量赋值,get方法用于获取成员变量的值:
public class PhoneTest {
public static void main(String[] args) {
Phone p = new Phone();
p.setBrand("小米");
p.setPrice(1999.98);
// 获取手机对象中的值
System.out.println(p.getBrand());
System.out.println(p.getPrice());
// 调用手机中的方法
p.call();
p.playGame();
}
}
this关键字
当我们不使用this关键字时,代码的取值采取的是就近原则如下:
当我们采用this关键字时,访问的就是全局变量而不是局部变量了:
构造方法
构造方法也叫构造器,构造函数。作用:在创建对象的时候,由虚拟机自动调用,给成员变量进行初始化赋值。
构造方法的格式如下,其具体特点为:
1)方法名与类名相同,大小写一致
2)没有返回值类型,连void都没有
3)没有具体的返回值(不能由return带回结果数据)
构造方式:
1)无参数构造方法:初始化的对象时,成员变量的数据均采用默认值
2)有参数构造方法:初始化对象的时候,同时可以为对象进行赋值
public class Student {
修饰符 类名(参数){
方法体;
}
}
构造方法注意事项
构造方法定义:
1)如果没有定义构造方法,系统将给出一个默认的无参数构造方法
2)如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载:
1)带参构造方法和无参构造方法,两者方法名相同但是参数不同,这叫做构造方法的重载
推荐使用方式:
无论是否使用,都手动书写无参构造方法和带全部参数的构造方法
如果想快速生成构造方法,也可以借助快捷键(alt + insert)进行一键生成,如下:
当然也可以借助插件 PTG 1秒生成标准的JavaBean,如下右键一键成: