JAVA学习第五天

一、今天干了什么

首先明确面向对象学习三条主线

(1)Java类及类的成员:属性、方法、构造器;代码块、内部类;

(2)面向对象的三大特征:封装性、继承性、多态性、(抽象性);

(3)其他关键字:this、static、final、abstract、interface、package……

 

 

类是抽象的,对象是类的具体。

 

1.类的成员:

(1)属性=成员变量=域=字段=field

(2)方法=成员方法=函数=method

2.类和对象的实现方法:

(1)创建类,设计类的成员

(2)创建类的对象

(3)通过“对象.属性”和“对象.行为”的方法调用对象的结构

3.类和对象的创建:

class Person
{
   String name="Yan Shihao";
int age=19; double height=173.0; double weight=65;
   void names
  (
    System.out.println(name);
  )
}//莫得分号 Person Me
= new Person();

4.调用属性和方法:“对象.属性”、“对象.方法”

5.对象内存解析:
堆:存储对象实例;

栈(虚拟机栈):存储局部变量等;

方法区:存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码

6.属性(成员变量)与局部变量的对比:

相同点:

(1)定义变量的格式相同:数据类型 变量名 = 变量数值

(2)先声明后使用

(3)变量都有其对应的作用域

不同点:

(1)在类中的声明位置不同:

属性:直接定义在类的一对{}内;局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量;

(2)关于权限修饰符的不同:

属性:可以在声明时指明其权限,使用权限修饰符;

(常用的权限修饰符:private、public、protected)

局部变量:不可以使用权限修饰符。

(3)默认初始化值的问题:

属性:根据其类型有默认初始化值;

局部变量:没有默认初始化值,意味着我们使用之前必须进行显示赋值。

(特别的:形参在调用时再赋值即可!)

(4)在内存中加载的位置不同:

属性:加载到堆空间中(非static,static类型加载到方法区);

局部变量:加载到栈空间中

posted @ 2021-07-08 16:26  闫闫不是那个严  阅读(27)  评论(0编辑  收藏  举报