Java中类和对象在内存中的位置和类的封装以及this关键字的用法,main函数为什么被static修饰

类和对象
1,类创建的引用在栈上 , 对象在堆上(其实就是用new就在堆上)
2,对象的成员变量在堆上 , 它属于对象
oop为面向对象程序设计语言 ,它的三大重要特征:继承 封装 多态
面向对象:一般处理大规模问题。
面向过程:一般处理小的问题。
定义类:
class 类名 {
类体
}
static静态成员变量 在方法区
静态成员变量通过 类名.属性 ,静态成员方法也是通过 类名.方法 。不建议用对象引用去访问。这些属性和方法都不依赖对象。
为什么main函数是static修饰?
如果不是静态的,那么main函数的调用就依赖对象。

final 修饰后放在哪块内存不一定
实例成员变量的访问需要对象的引用。
成员变量默认值就是自己所对应的0值。
引用类型–》null, char-》’/u0000’ ,boolea–》false
1静态方法内部 不能访问非静态的数据成员:原因:非静态的数据成员依赖对象。
静态方法 不依赖对象。

封装

私有 private
1, 初始化方式:get和set方法
2,构造方法:方法名和类名相同
public 类名(){}//不带参数的构造方法 如果你没写构造方法,编译器会生成一个不带参数的构造方法,反之,编译器不会生成。
构造方法的作用,实例化一个对象。
一个对象的产生分为两步:1,为对象分配内存。2,匹配合适的构造方法。
this 代表什么?
this代表当前对象的引用,不是代表当前对象,因为构造方法还没执行完成,没有对象的产生。
静态方法内不能使用this。
this调用构造方法时,必须放在第一行
构造方法可以发生重载(可以通过this调用不同的构造方法)。

发布了55 篇原创文章 · 获赞 85 · 访问量 5137

猜你喜欢

转载自blog.csdn.net/lzh_99999/article/details/102688643