一、java类及类的成员
属性、方法、构造器;代码块、内部类
二、面向对象的三大特征
封装性、继承性、多态性;(抽象性)
三、其他关键字
this、super、static、final、abstract、interface、package、import
1.1 类和对象
类:是对一类事物的描述,是抽象的、概念上的定义;
对象:是实际存在的该类事物的每个个体,也称为实例。
面向对象的程序设计重点就是类的设计,设计类就是设计类的成员。
1.2 类的成员
常见的类的成员有:属性,方法。
属性(field):类中的成员变量; 方法(method):类中的成员方法=函数。
创建类的对象也称为类的实例化,或者实例化类。
如果创建了一个类的多个对象,则每个对象都独立地拥有一套类的属性。(非static)
Person p2 = p1;
//将p1变量保存的对象地址值赋给p3,导致p1和p3指向堆空间中的同一个实体对象
//类似于 p2就是p1的外号
对象的内存解析:堆存放实体对象,栈存放地址值。
package Object_shang;
public class Person_Test {
public static void main(String[] args) {
//创建Person类的对象
Person p1 = new Person();
//调用类的结构:属性、方法
p1.name = "Tom";
p1.age = 10;
p1.isMale = false;
System.out.println("name:"+p1.name +" age:"+p1.age+" isMale:"+p1.isMale);
//调用方法
p1.eat();
p1.sleep();;
p1.talk("汉语");
//将p1变量保存的对象地址值赋给p3,导致p1和p3指向堆空间中的同一个实体对象
//类似于 p2就是p1的外号
Person p2 = p1;
}
}
class Person{
//属性
String name;
int age;
boolean isMale;
//方法
public void eat(){
System.out.println("人可以吃饭!");
}
public void sleep(){
System.out.println("人可以睡觉!");
}
public void talk(String language){
System.out.println("人可以说话,使用的是:"+language+"!");
}
}
属性(成员变量) VS 局部变量
1. 相同点
1.1 定义变量的格式相同:数据类型 变量名 = 变量值
1.2 先声明,后使用
1.3 变量都有其对应的作用域
2. 不同点
2.1 在类中声明的位置不同
属性:直接定义在类的一堆{}内
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
2.2 关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符
常用的权限修饰符:private、public、缺省(默认权限)、protected ====>封装性
局部变量:不可使用权限修饰符
2.3 默认初始化值的情况
属性:类的属性,根据其类型,都有默认的初始化值
整型(byte、short、int、long):0
浮点型(float、double):0.0
字符型(char):0(‘\u0000’)
布尔型(boolean):false
引用数据类型(类、数组、接口):null
局部变量:没有默认初始化值,意味着在调用局部变量之前一定要显式赋值。特别地,形参在调用时赋值即可。
2.4 在内存中加载的位置
属性:加载到堆空间(非static)
局部变量:加载到栈空间
package Object_shang;
public class User_Test {
}
class User{
//属性(成员变量)
String name;
int age;
boolean isMale;
public void talk(String language){//language:形参,也是局部变量
System.out.println("我们使用"+language+"进行交流!");
}
public void eat(){
String food = "烙饼";//food 方法内的局部变量
System.out.println("北方人喜欢吃:"+food);
}
}
类中方法的声明和使用(方法就是描述类应该具有的功能)
1. 方法的形式
无返回值 | 有返回值 | |
无形参 | void 方法名(){} | 返回值的类型 方法名(){} |
有形参 | void 方法名(形参列表){} | 返回值的类型 方法名(形参列表){} |
2. 方法的声明: 权限修饰符 返回值类型 方法名(形参列表){ 方法体 }
3. 说明
3.1 权限修饰符:private、public、缺省(默认权限)、protected
3.2 返回值类型: 有返回值 VS 无返回值
如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时,在方法中需要使 用关键字return来返回指定类型的变量或常量,“return 数据”。如果方法没有返回值,则方法 申明时使用void表示。
3.3 return关键字的使用
1. 使用范围:使用在方法体中
2. 作用:结束方法;针对有返回值类型的方法,使用“return 数据”的方法返回所要的数据;
3. 注意:return关键字后不可以声明执行语句。