java中的类与对象!

java中的类与对象:

单独的定义定义变量解决和使用数组解决问题时:往往不利于数据的管理,效率低!这样我们提到类与对象!
java的设计者引入类与对象(oop编程),根本原因就是现有的技术,不能完美的解决新的需求。

类与对象概述:一个程序就是一个世界,有很多事物(对象【属性,行为】)
举例分析类与对象的关系: 把所有的猫的特性(属性)提取出来 -> 猫类:自定义数据类型里面(猫的各种属性:age,color,name……)->对象(实例) 具体的某一只猫的特性!
对象在内存中的存在形式: 栈(类) 堆(基本类型和引用类型的地址,根据属性分配不同的空间) 方法区(常量池,引用类型的对象,同时加载类的信息:属性信息和方法)
属性(成员变量):
1.基本介绍:成员变量用于表示属性;
2.属性是类的一个组成部分,一般是基本数据类型,也可以是引用数据类型(对象、数组)。
Class car {
String name;//属性、成员变量、字段field
double price;
String color;
String[] master;//属性可以是基本数据类型,也可以是引用数据类型(对象、数组)
}
属性的注意事项和细节:
1.属性的定义语法同变量; 访问修饰符(控制访问范围:public protected 默认不写 private) 属性类型 属性名;
2.属性的定义类型可以为任意类型,包含基本数据类型和引用类型;
3.属性如果不赋值,有默认值,规则和数组一致。具体:int 0 ; short 0 ; byte 0; long 0; float 0.0;double 0.0;char \u000;boolean false; String null;
创建对象:1.先声明再创建 : Cat cat ;
cat = new Cat();
2.直接创建:Cat cat = new cat();
类与对象的内存分配机制:
java内存的结构分析:1.栈:一般存放基本数据类型(局部变量);
2.堆:存放对象(Cat cat ,数组等);
3.方法区:常量池(常量,如字符串),类加载信息。
举例说明 Person p = new Person();
p.name = “jack”;
p.age = 10;
1.先加载类的信息 Person类,且只会加载一次。
2.在堆中分配空间,进行默认初始化,
3.把堆中的地址赋给变量p,p就指向对象。
4.进行指定初始化,比如p.name = “jack” p.age = 10;
金句分享:你要暗自努力,然后经验所有人!

Guess you like

Origin blog.csdn.net/m0_52271574/article/details/120518478