Java学习笔记----构造方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oampZuo12345/article/details/48878119
  • 构造方法的作用
  • 构造方法的格式
  • 构造方法的注意事项
  • 类的初始化过程

构造方法的作用

用于对对象的数据进行初始化

构造方法的格式

1、方法名和类名相同

2、没有返回值类型,连void都不能有

3、没有返回值

思考题:构造方法中可不可以有return语句呢?
可以,我们可以写成这样:return;
其实,在任何的void类型的方法的最后你都可以写上:return;

构造方法的注意事项

1、如果我们没有写构造方法,系统将提供一个默认的无参构造函数

2、如果我们给出了构造方法,系统不再提供默认构造函数,如果这个时候,我们要使用无参构造方法,就必须自己给出

推荐:永远手动自己给出无参构造函数

    class Student {
            private String name;
            private int age;

            public Student(){}

            public Student(String name,int age) {
                this.name = name;
                this.age = age;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public int getAge() {
                return age;
            }

            public void setAge(int age) {
                this.age = age;
            }
        }

        测试:
        class StudentDemo {
            public static void main(String[] args) {
                //方式1
                Student s1 = new Student();
                s1.setName("林青霞");
                s1.setAge(27);
                System.out.println(s1.getName()+"---"+s1.getAge());

                //方式2
                Student s2 = new Student("刘意",30);
                System.out.println(s2.getName()+"---"+s2.getAge());
            }
        }

类的初始化过程

Student s = new Student();在内存中做了哪些事情???

1、加载Student.class文件进内存

2、在栈内存为s开辟空间

3、在堆内存为学生开辟空间

4、对学生对象的成员变量进行默认初始化

5、对学生对象的成员变量进行显示初始化

6、通过构造方法对学生对象的成员变量赋值

7、学生对象初始化完毕,把对象地址赋值给s变量

问题

1、变量什么时候定义为成员变量???

如果这个变量是用来描述这个类的信息的,那么,该变量就应该定义为成员变量。

2、变量到底定义在哪里好???

变量的范围是越小越好,因为能及时被回收。

猜你喜欢

转载自blog.csdn.net/oampZuo12345/article/details/48878119