Java学习笔记(3)—— 面对对象(构造)
1 面对对象的思想
1.1 面向对象与面向过程
- 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
- 面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
1.2 面向对象中两个重要的概念:
- 类:对一类事物的描述,是抽象的、概念上的定义
- 对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)
面向对象程序设计的重点是类的设计 设计类,就是设计类的成员。
- 二者的关系:对象,是由类new出来的,派生出来的。
package FaceObject;
public class Person {
String name;
int age = 1;
public Person(){
}
public void eat(){
System.out.println("人可以吃饭");
}
{
System.out.println("人可以睡觉");
}
class Brain{
}
}
class PersonText{
public static void main(String[] args) {
Person p =new Person();
p.name = "chris";
System.out.println(p.name);
System.out.println(p.age);
p.eat();
}
}
2 类的构造之一属性(成员变量)
2.1 属性和局部变量
2.1.1 相同点:
-
定义变量的格式:数据类型 变量名 = 变量值 -
先声明,后使用 -
变量都其对应的作用域
2.1.2 不同点:
- 在类中声明的位置的不同
- 属性:直接定义在类的一对{}内
- 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
- 关于权限修饰符的不同
- 属性:可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private、public、缺省、protected —>封装性
- 局部变量:不可以使用权限修饰符。
- 默认初始化值的情况:
- 属性:类的属性,根据其类型,都默认初始化值。
整型(byte、short、int、long:0) 浮点型(float、double:0.0) 字符型(char:0 (或’\u0000’)) 布尔型(boolean:false) 引用数据类型(类、数组、接口:null)
- 局部变量:没默认初始化值。意味着,我们在调用局部变量之前,一定要显式赋值。特别地:形参在调用时,我们赋值即可。
- 在内存中加载的位置:
- 属性:加载到堆空间中 (非static)
- 局部变量:加载到栈空间
|