目录
Java 面向对象编程基础
定义类
垃圾回收
构造器
构造器的分类
this关键字
封装
封装的实现步骤
封装的好处
JavaBean
成员变量和局部变量的区别
活动地址:CSDN21天学习挑战赛
面向对象并不是一个技术,而是一种编程指导思想。把现实世界的具体事物全部看成一个一个的对象来解决问题。
生活中我们解决问题就是按照对象化的方式进行的。如果程序也能够按照生活的中的方式来解 决问题,那么程序就更符合人类的思维习惯,代码看起来会更易理解、更简单。
在Java中,必须先设计类,才能获得对象。
类(设计图):是对象共同特征的描述; 对象:是真实存在的具体实例。
public class 类名 {
1、成员变量(代表属性,一般是名词)
2、成员方法(代表行为,一般是动词)
3、构造器
4、代码块
5、内部类
}
public class Car {
// 属性 (成员变量)
String name;
double price;
// 行为(方法)
public void start(){
}
public void run(){
}
}
如何得到类的对象:
// 类名 对象名 = new 类名()
Car c = new Car();
如何使用对象:
访问属性: 对象名.成员变量
访问行为: 对象名.方法名(…)
定义类的补充注意事项
成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值。
类名首字母建议大写,且有意义,满足“驼峰模式”。
一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。 实际开发中建议还是一个文件定义一个class类。
注意:当堆内存中的类对象或数组对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。
Java存在自动垃圾回收器,会定期进行清理。
用于初始化一个类的对象,并返回对象的地址。
修饰符 类名(形参列表){
...
}
初始化对象的格式:类型 变量名称 = new 构造器;Car c = new Car();
无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
注意事项
任何类定义出来,默认就自带了无参数构造器,写不写都有。
一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。
作用:出现在成员方法、构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法。
this关键字的作用:代表当前对象的地址。可以用于访问当前对象的成员变量。
面向对象的三大特征:封装,继承,多态。
封装:隐藏实现细节,暴露出合适的访问方式。(合理隐藏、合理暴露)
一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
提供public修饰的公开的getter、setter方法暴露其取值和赋值。
加强了程序代码的安全性。
适当的封装可以提升开发效率,同时可以让程序更容易理解与维护。
也可以理解成实体类,其对象可以用于在程序中封装数据。
标准JavaBean须满足如下要求:
成员变量使用 private 修饰。
提供每一个成员变量对应的 setXxx() / getXxx()。
必须提供一个无参构造器。
区别 | 成员变量 | 局部变量 |
类中位置不同 | 类中,方法外 | 常见于方法中 |
初始化值不同 | 有默认初始化值 | 没有,使用之前需要完成赋值 |
内存位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的创建而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的运行结束而消失 |
作用域 | 在所归属的大括号中 |