标签:col 初始 使用 格式 必须 java基础 定义 ima 栈内存
创建对象,给对象中的成员进行初始化
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
1 public class Student { 2 private String name; 3 private int age; 4 //我们自定义的类,默认存在一个空参构造构造方法 5 //构造方法的语法:方法名跟类名相同,没有返回值,连void 也没有 6 public Student(){ 7 System.out.println("空参的构造方法调用了"); 8 } 9 }
1 public class Teacher { 2 private String name; 3 private int age; 4 public Teacher(){ 5 System.out.println("空参构造调用了"); 6 } 7 //构造方法的重载 8 public Teacher(String name) { 9 System.out.println("一个参数的构造调用了"+name); 10 } 11 public Teacher(String name,int age) { 12 System.out.println("两个参数的构造调用了" + name+"==="+age); 13 } 14 }
a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
1 public class MyTest { 2 public static void main(String[] args) { 3 //使用有参构造方法给成员变量赋值 4 Teacher teacher1 = new Teacher("zhansan"); 5 Teacher teacher2 = new Teacher("wangwu", 25); 6 //使用set方法给成员变量赋值 7 teacher1.setName("lisi") 8 } 9 }
(1):加载Student.class文件进内存
(2):在栈内存为s开辟空间
(3):在堆内存为学生对象开辟空间
(4):对学生对象的成员变量进行默认初始化
(5):对学生对象的成员变量进行显示初始化
(6):通过构造方法对学生对象的成员变量赋值
(7):学生对象初始化完毕,把对象地址赋值给s变量
a:随着类的加载而加载
b:优先于对象存在
c:被类的所有对象共享
d:可以通过类名调用
其实它本身也可以通过对象名调用。
推荐使用类名调用。
静态修饰的内容一般我们称其为:与类相关的,类成员
Java基础5—{面向对象(构造方法、对象的创建步骤、static关键字、Math类)}
标签:col 初始 使用 格式 必须 java基础 定义 ima 栈内存
原文地址:https://www.cnblogs.com/wanyan1234/p/12019476.html