面向对象
一、面向对象与面向过程
都是一种思想,思考问题的角度,思维方式
面向过程:关注如何解决问题
面向对象:关注谁去解决问题
面向对象思想的好处:
1.更符合现实生活中人们的思维
2.面向对象更贴合管理者的思维角度,更贴合执行者的思维角度
3.面向对象可以将复杂的问题简单化
如何使用面向对象进项编程:
就是要让程序与现实生活紧密联系
提出两个概念
类 : 定义一些列事物的共性->图纸|模板|模具
对象 : 表示显示生活中的具体事物 --> 实例
根据类构建对象,因为现有图纸才能造车
二、自定义类
自定义的类也是引用数据类型
使用自定义类:
1.导包
不需要导包的类
1)同包下的类
2)java.lang包下的内容不需要导包
2.创建当前引用数据类型的变量|应用-->创建对象
引用数据类型 引用 = new 引用数据类型();
new 关键字 具有创建对象的能力
3.使用成员
成员变量 引用.成员变量名
成员方法 引用.成员方法名(参数列表);
ps:方法的参数类型和返回值类型都可以是自定义类的引用数据类型
public class CookCake {
public static void main(String[] args) {
//创建厨师对象
Cook cook=new Cook();
cook.name="托尼老师";
cook.sex=true;
//制作
Cake cake=cook.cook("巧克力",3,500);
cake.show();
}
}
//创建蛋糕类
class Cake{
public String type;
public int num;
public int price;
//蛋糕展示自己的方法
public void show(){
System.out.println("价值"+price+"元的"+num+"层"+type+"蛋糕");
}
}
//创建厨师类
class Cook{
public String name;
public boolean sex;
//厨师制作蛋糕的方法
public Cake cook(String type,int num,int price){//返回自定义Cake类型的引用数据类型
Cake cake=new Cake();
cake.price=price;
cake.num=num;
cake.type=type;
return cake;
}
}
三、构造器
1、new关键字的作用:
1.在堆中为对象开辟一块内存空间,并且同时成员变量跟随对象进入到堆内存并附默认值
2.调用构造器为对象初始化信息
3.将对象的地址返回给引用
2、构造器|构造方法|构造函数
定义:特殊的方法(可以重载)
结构:
修饰符 类名(参数列表){
}
不需要返回值和void
可以根据需求使用return提前结束构造器的作用
作用:只能为对象初始化信息,不是用来创建对象
使用:只能跟随new关键字一起使用
注意:
如果一个类中没有显示定义构造器,编译器会默认为类提供一个空构造(没有参数的构造器)
如果一个类中有显示定义构造器,编译器不会为我们提供任何构造器
构造器也是特殊的方法,可以构成方法的重载