A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© gcno93 中级黑马   /  2016-9-1 20:46  /  442 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
构造函数的作用:给对应的对象进行初始化


构造函数的注意事项:
        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("车子跑");
        }
}

1 个回复

正序浏览
发这个有啥用啊......大家都有
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马