黑马程序员技术交流社区

标题: 构造方法笔记 [打印本页]

作者: gcno93    时间: 2016-9-1 20:46
标题: 构造方法笔记
/*
构造函数的作用:给对应的对象进行初始化


构造函数的注意事项:
        1.构造函数是没有返回值的
        2.构造函数的名字必须跟类名一致
        3.构造函数不是由我们手动调用的,而是在
                        创建对象时,由java虚拟机调用对应得构造函数
        4.当我们没有显式的写上构造函数时,在编译时,
                        java编译器会为该类加上一个无参的构造函数
        5.当我们显示的写上构造函数时,在编译时,
                        java编译器将不会为该类加上一个无参的构造函数
        6.构造函数是可以重写的

疑问?为什么之前我们没写构造函数,java虚拟机有没有调用构造函数呢?
        答:会调用构造函数,在编译时,java编译器会为该类加上一个
        无参的构造函数,这个构造函数的权限修饰符跟类名的权限修饰符一样
javap(反边编译工具)  java
p -c -l -p 字节文件的文件名


构造函数与普通的函数有啥区别?
        返回值的区别
                1.构造函数没有返回值
                2.普通的函数有返回值,即使没有,也要写上void
        命名的区别:
                1.构造函数的名字,必须与类名一致
                2.普通的函数只要符合标识符规范就好了
        调用的不同:
                1.构造函数时由java虚拟机自动调用的
                2.普通函数是有对象调用的,一个对象可以多次调用普通函数
        作用不同:
                1.构造函数是用来初始化一个对象
                2.普通函数是描述一类事物的公共行为

*/
class GouZao {
        public static void main(String[] args) {
                System.out.println("Hello World!");
        }
}

class Car {
        private String name;
        private String age;
        Car(String name,String age){//有参的构造函数
                this.name=name;
                this.age=age;
                System.out.println("这是车的无参构造方法");
        }
        Car(){//无参的构造函数
                System.out.println("这是车的无参构造方法");
        }
        public void run(){
                System.out.println("车子跑");
        }
}
作者: a623562486    时间: 2016-9-1 20:52
发这个有啥用啊......大家都有




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2