类的基本语法
2025年3月14日大约 3 分钟
类的基本语法
注意
此章节内容较多,且比较重要,请仔细学习
是对之后的Spring开发的基础,了解了这里你就会明白MVC架构的大致来源
构造器
一种特殊的方法
构造器可重载
修饰符 类名(形参列表)
public class Person{
int age;
public Person(int in_age){
in_age = age;
}
}
补充:
- 在 new 对象 时会自动调用无参构造(即使没有在类写无参构造,同样会执行此操作)
- 如果类有有参构造,必须写出无参构造
this 关键字
是一个变量,用于方法中,拿到当前对象
哪个对象调用这个方法,this 就是那个对象
为了解决成员变量和局部变量冲突的问题
- 成员变量:对象内的变量
...
// 下面是一个构造器
int age;
public Person(int age){
this.age = age;
}
...
封装
面向对象的三大特征: 封装、继承、多态
类就是一种封装
封装的思想: 将属性私有化,提供公共的访问方法(合理隐藏(属性),合理暴露(方法))
注: 通过访问修饰符来进行隐藏和暴露,权限修饰符
pulic class Person{
// 合理隐藏(属性)
private int age;
// 合理暴露(方法)
public void setAge(){
this.age = age;
}
public int getAge(){
reture age;
}
}
JavaBean
是一种特殊类,又称为实体类
实体类的基本作用: 创建对象,并且能够进行存取数据(封装数据)
实体类的应用场景:
- 实体类的对象只负责数据存取,不进行业务处理
- 数据的业务处理交由其他类完成
- 总体思想: 数据和业务处理分离
要求:
- 类中的成员变量全部私有,提供getter/setter方法
- 类中提供无参构造(没有有参构造时可省略,因为默认有无参构造),可以有有参构造
//实体类
public class Person{
// 1. 私有化成员变量
private int age;
private String name;
// 2.提供getter、setter方法
public int getAge(){
reture age;
}
public void setAge(int age){
this.age = age;
}
......
}
//业务处理
public class PersonService{
//第一种方式
private Person person;
public PersonService(Person person){
this.person = person;
}
public void printInfo(){
System.out.println(person.getAge());
}
//第二种方式 (直接获取对象)
public void printInfo(Person person){
System.out.println(person.getAge());
}
}
static 关键字
叫做静态,可以修饰成员变量,成员方法
static修饰成员变量
成员变量按有无static分为:
- 静态变量(类变量): 有static修饰,属于类,会被类的全部对象共享
- 实例变量: 无static修饰,属于每个对象
如何使用
- 静态变量: 类名.静态变量名
- 实例变量: 对象名.实例变量名
静态变量的作用
数据只需要一个,并且多个对象共享数据时,将此数据定义为静态变量
static修饰方法
成员方法的分类:
- 静态方法: 有static修饰,属于类,可以通过类名直接调用
- 实例方法: 无static修饰,属于对象,只能通过对象名调用
...
// 静态方法
public static void test(){
}
// 实例方法
public void test2(){
}
...
静态方法的作用
当方法不需要访问对象的数据时,定义为静态方法
- 做工具类(可以私有化构造器)
static的注意事项
- 静态变量和静态方法在类加载时初始化,且只会初始化一次
- 静态方法只能访问静态变量和静态方法
- 实例方法可以访问静态变量和静态方法,也可以访问实例变量和实例方法
- 静态方法中不能使用this关键字