对象
通常将对象划分为两个部分,即静态部分和动态部分,静态部分被称为对象的属性,动态部分为对象可执行的动作
我们可以将一个物体共有的属性和行为封装起来,构成一个类,类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。
1.1类
类变量是成员变量
类方法是成员方法
1.2封装
面向对象程序设计的特点:封装性、继承性、多态性
封装是面向对象编程的核心思想。
1.3继承
类与类之间同样具有关系,这种关系被称为关联,继承是关联关系的一种。
例子:教师类和学生类的关系。
继承性主要利用特定对象之间的共有属性。也就是可以说子类的实例都是父类的实例,但不能说父类的实例是子类的实例。
当一个类处于继承体系中时,它既可以是其他类的父类,为其他类提供属性和行为,也可以是其他类的子类,继承父类的属性和方法。
1.4多态
将父类对象应用于子类的特征就是多态。
我们要知道多态的实现并不依赖于具体类,而是依赖于抽象类和接口。
类
java中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。
2.1成员变量
对象的属性也称为成员变量,成员变量可以是任意类型,整个类中均是成员变量的作用范围。
例:创建一个Book类,在类中设置一个name属性,并为该属性编写Getter/Setter方法
public class Book {
private String name; //String类型的成员变量 private关键字,用来定义一个私有变量
// Getter方法用于获取name属性的值
public String getName() {
return name;
}
// Setter方法用于设置name属性的值
public void setName(String name) {
this.name = name;//将参数值赋予类中的成员变量
}
}
2.2成员方法
权限修饰符 返回值类型 方法名(参数类型 参数名){
//方法体
return 返回值;
}
一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回值的选择,如果方法需要返回值,则可以在方法体中使用return关键字,使用这个关键字之后,方法的执行将被终止。(要是java代码中的成员方法无返回值,可以使用void关键字表示)
成员方法的返回值可以是计算结果,也可以是其他想要的数值和对象,返回值类型要与方法返回的值类型一致。
2.3权限修饰符
java中的权限修饰符主要包括:private、public、protected
-
private私有属性,则该成员变量只能在本类中使用,在子类中是不可见的,并且对其他包的类也是不可见的。
这个类将隐藏其内的所有数据,以免用户直接访问它。
-
public:其中的方法、变量可以被任何其他类访问。
-
protected:只有本包内的该类的子类或者其他类可以访问此类中的成员变量和成员方法。
访问包的位置 | 类修饰符 | ||
private | protected | public | |
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可见 | 可见 |
注意:当声明类中不使用public、protected和private修饰符设置类的权限,则这个类被预设为包存取范围,即只有一个包中的类可以访问这个类的成员变量或者成员方法。
2.4局部变量
局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译性错误。
局部变量的有效范围称为变量的作用域,局部变量的有效范围从该变量的声明开始到该变量的结束为止。
注意:在相互不嵌套的作用域中可以同时声明两个名称和类型都相同的局部变量。
public void doString(String name){
int id = 0;
for(int i = 0;i < 10;i++){
System.out.printIn(name + String.valueOf(i));
}
for(int i = 0;i < 3;i++){
System.out.printIn(i);
}
}
在嵌套区域中不可以定义相同名称和类型的局部变量。
2.5this关键字
this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类。this关键字只能用于本类中。
this可以调用成员变量或者成员方法。
java中的调用方式:
-
对象.成员变量
-
对象.成员方法