类–抽象概念的
对象–具体的类
面向对象设计的重点是 类的设计
java学习 三条主线
- java 类 及类的成员:属性,方法,构造器;代码块,内部类
- 面向对象三大特征:封装性,继承性,多态性,(抽象性)
- 其他关键字:this,super,static,final,interface,package……
面向对象落地
- 创建类,设计类的成员
- 创建类的对象
- 通过“对象.属性”和"对象.方法" 调用对象结构
面向对象一些性质
- 属性和局部变量
- 属性是写在最外层{}里的,局部变量是在方法内,代码块内,构造器内……
- 属性:加载在堆空间(非static)
- 局部变量:在栈空间
java文件执行顺序
先编译源程序成字节码文件,此时是另一种形式存储在硬盘中
然后使用JVM 类的加载器和解释器对字节码文件进行解释运行
意味着,需要将字节码文件中的类加载到内存中,涉及到内存解析。
类的属性和局部变量的对比
相同点
- 定义的格式:数据类型 变量名= 变量值;
- 先声明,后使用
- 变量都对应其作用域
不同点
1.定义位置不同
- 属性直接定义在类的一堆{}中
- 局部变量可以定义在方法里,形参,代码块内……
2.修饰符权限
- 属性:可以在声明属性时,指明其权限,使用权限修饰符。
- 常用的权限修饰符: private、 public、缺省、protected —>封装性
目前,大家声明属性时,都使用缺省就可以了。 - 局部变量:不可以使用权限修饰符。
3.默认初始化值的情况
- 属性:类的属性,根据其类型,都默认初始化值。
整型( byte、short、int、long: 0)
浮点型(float.double: 0.0)
字符型( char:0(或"\u0080" ) )
布尔型(boolean: false)
引用数据类型(类、数组、接口: null) - 局部变量:没默认初始化值。
意味着,我们在调用局部变量之前,一定要显式赋值。
特别地:形参在调用时,我们赋值即可。
4.在内存中加载的位置:
- 属性:加载到堆空间中(非static)
- 局部变量:加载到栈空间
1940

被折叠的 条评论
为什么被折叠?



