一、思想
1、要理解面向对象思想,我们先要知道什么是对象?
《Java编程思想》中提到“万物皆为对象”的概念。它将对象视为一种奇特的变量,它除了可以存储数据之外还可以对它自身进行操作。它能够直接反映现实生活中的事物,例如人、车、小鸟等,将其表示为程序中的对象。每个对象都具有各自的状态特征(也可以称为属性)及行为特征(方法),java就是通过对象之间行为的交互来解决问题的。
面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为。
类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例。
类具有三个特性:封装、继承和多态。
封装:核心思想就是“隐藏细节”、“数据安全”,将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定。
继承:子类可以继承父类的属性和方法,并对其进行拓展。
多态:同一种类型的对象执行同一个方法时可以表现出不同的行为特征。通过继承的上下转型、接口的回调以及方法的重写和重载可以实现多态。
注:java中的继承是单继承,即一个类只有一个父类。
二、类与对象之间关系
定义一个类的对象,其实就是创建一个类的实例,表示一个具体的对象。
格式: 类名 对象名 = new 类名();
在声明一个具体对象时,如果只声明对象而没有给出具体实例。
三、类中的成员
类的定义
class 类名 {
属性名称
}
在类中描述人类特征的,就是类中的属性,也叫成员属性。在类中描述人类行为的,就是类中的方法,也叫成员方法。
如果要想访问类中的属性或方法则可以依靠以下的语法形式:
访问类中的属性:对象名.成员属性 ;
调用类中的方法:对象名.成员方法();
继承的好处:
子类拥有父类的所有属性和方法(除了private修饰的属性不能拥有)从而实现了实现代码的复用;
四、this关键字的作用
this关键字指向的是当前对象的引用
调用类中的属性:this.属性名称,指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题)
调用类中的方法:this.方法名称,用来访问本类的成员方法
调用类构造方法:this();访问本类的构造方法,()中可以有参数的 如果有参数 就是调用指定的有参构造
注意:
1.this() 不能使用在普通方法中,只能写在构造方法中
例如:
public class People {
public People(int age,String name) {
this();//调用无参构造
System.out.println("我是有参构造");
}
public People() {
System.out.println("我是无参构造");
}
public static void main(String[] args) {
People p1 = new People(20,"刘禅");
}
}
五、static关键字的作用
static:静态修饰符
使用static关键字修饰一个属性:该属性就是静态属性,也叫全局变量,类名.属性名可以直接访问
使用static关键字修饰一个方法:该方法就是静态方法,可以不用创建对象,直接类名.方法名调用
声明为static的方法有以下几条限制:
1、静态方法只能调用其他的静态方法,不能调用非静态方法。而在非静态方法中是可以调用静态方法的
2、静态方法中只能访问静态属性
3、静态方法不能引用this或super。
4、不允许用来修饰局部变量