1,对象和类基本概念
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。–来自菜鸟教程
比如,我们有一个苹果手机,他有拍照,打电话等功能.有开机待机啥的状态.有尺寸等属性.还有appStore,这个iphone就能称为是对象.而所有手机都有打电话等功能.手机就被称为类
2,JAVA中对象和类的基础使用
public class Phone {
public double size=5.5;
public void call(String phoneNum){
System.out.println("正在拨打电话:"+phoneNum);
}
public void size(){
System.out.println("这个电话的尺寸是:"+size);
}
public void picture(){
System.out.println("启动拍照");
}
}
定义一个类,就这么写 public class 类名
比如这这段代码定义一个手机类.
它有拨打电话的功能call();有拍照功能picture();有显示尺寸的功能size();还有尺寸属性.这样我们就定义出了一个手机类。
但如果我们要使用这三个功能怎么做?
public static void main(String[] args) {
Phone phone = new Phone();
phone.call("10086");//拨打电话
phone.size();//显示尺寸
phone.picture();//拍照
}
结果输出:
正在拨打电话:10086
这个电话的尺寸是:5.5
启动拍照
这段代码的意思就是,你想要使用这三个功能,你是不是首先得搞到一个手机?.那么如何搞到这个手机呢?
Phone phone = new Phone(); 这样就搞到一个手机了。这个过程称为创建一个对象.就是从手机类中创建一个对象出来。
类名 对象名称 = new 类名();这样就能创建一个对象了.
new 这个关键字就是创建.
创建出来对象了,拿到手机了,那我们就能使用它的东西了.
直接对象名称.方法() 就能直接使用功能了。就像上面的phone.size()直接显示尺寸.
3,类的组成
那么在JAVA中一个类主要由什么组成?
构造方法,成员变量,方法.
1,构造方法
什么是构造方法?就是在创建一个对象时同时会执行的方法.
也就是会自动调用的初始化方法.
在JAVA中怎么写?
public class Phone {
public Phone(){
System.out.println("创建了一个phone对象");
}
}
构造方法就在类里面这么写, 修饰符 类名([参数]){}
[]表示可选
方法名和类名一致,没有返回值.
然后直接执行以下这段代码
public static void main(String[] args) {
Phone phone = new Phone();
}
结果输出
到这,应该就能初步了解构造方法了吧
那么假如这个手机对象启动时马上就拨打我给他设定的电话。如何做?
public class Phone {
public Phone(String phoneNum){
System.out.println("正在拨打电话:"+phoneNum);
}
}
这样,在构造方法里面写一个参数.
然后执行以下代码
public static void main(String[] args) {
Phone phone = new Phone("10086");
}
结果输出
到这应该就能体会到构造方法的作用了吧?
但如果我有时候要它打电话有时候要它拍照怎么办?
public class Phone {
public Phone(String phoneNum){
System.out.println("正在拨打电话:"+phoneNum);
}
public Phone(){
System.out.println("启动拍照");
}
}
这样写,
然后执行以下语句
public static void main(String[] args) {
Phone phone = new Phone();//我要它拍照
Phone phone1 = new Phone("10086");//我要它打电话给10086
}
结果输出:
到这应该就能进一步的了解构造方法了吧?创建一个对象它只能执行一个构造方法.至于要执行哪一个,根据你的参数来选择.
总结
1,构造方法是什么?
创建对象时执行的方法
2,有多个构造方法时,如何选择?
根据输入的参数选择
注意点:
1,如果你创建了一个带参数的构造方法,比如上面的打电话.而没有创建没有参数的构造方法,那么此时你这么写Phone phone = new Phone();会报错.因为它没有不带参数的构造方法.
->因此,如果你需要这样写Phone phone = new Phone();不报错,那就加上无参的构造方法.
2,你发现我一开始没有写构造方法,Phone phone = new Phone();它也不报错.->总结,不写构造方法时.系统会默认创建一个无参的构造方法.