vue网站开发实例,国内外贸平台,wordpress没有首页,工程公司取名字大全三个字JAVA_3 一、JAVA类和对象二、JAVA内存如何运转三、JAVA-constructer 一、JAVA类和对象
类包含三个内容#xff1a; 1.属性field#xff0c;静态特征#xff08;数据#xff09; 2.方法method#xff0c;负责动态行为操作数据 3.构造器constructer,负责初始化对象#xf… JAVA_3 一、JAVA类和对象二、JAVA内存如何运转三、JAVA-constructer 一、JAVA类和对象
类包含三个内容 1.属性field静态特征数据 2.方法method负责动态行为操作数据 3.构造器constructer,负责初始化对象默认初始化为0/null
java类声名好后等于一个对象工厂可以通过java类不断创造java对象
public class test5_obj {//属性field静态特征数据int id;String name;//方法method负责动态行为操作数据public void print() {System.out.println(id name);}//构造器constructer,负责初始化对象默认初始化为0/null//定义好这个类根据这个类重复的创造对象public static void main(String[] args) {test5_obj stu1 new test5_obj();stu1.id 1997;stu1.name li;stu1.print();}
} 二、JAVA内存如何运转
堆栈内存如何变化
双引号的三个内容会在堆里变成三个对象的电脑是dellli在栈里初始main方法的栈帧里面包含args,c1,stu1,对于基本数据类型之外的数据都占四个字节引用类型都为null在堆里创建computer对象里面创建brandprice把这个创建对象的地址赋给c1把1里创建的对象dell的地址值赋给3对象里的brand把堆里computer对象里的price赋值6000 同理重复使用print方法时会新开一个栈帧
package obj;public class AStudent {int id;String sname;int age;Computer computer;void print() {System.out.println(sname 的电脑是 computer.brand);}public static void main(String[] args) {Computer c1 new Computer();c1.brand dell;c1.price 6000;AStudent stu1 new AStudent();stu1.id 1997;stu1.sname li;stu1.computer c1;stu1.print();}
}
三、JAVA-constructer
创建一个对象分为如下四步
分配对象空间并将对象成员变量初始化为0或null执行属性值的显式初始化执行构造方法初始化对象返回对象的地址给相关的变量
构造方法属于第三步
构造器通过new调用虽然有返回值但不能定义类型因为返回的是本类不能在构造器return值如果我们没有定义构造器编译器自动定义一个无参的构造器的方法名必须和类名一致
构造方法也有重载默认无参也可以自己设置参数赋值
this可以调用重载的构造器这种方法必须位于构造方法第一行