JAVA(基础) 面向对象一
前面我们学习的是面向过程,现在我们来学习面向对象。面向过程就好比一件事自己一步步去完成,而面向对象则是找人去完成这件事,具体这件事是怎样做的,我们不在乎,我们只在乎结果。面向对象依托于面向过程,方法内部的具体功能实现的过程就是面向过程。
类和对象的概念
面向对象的优点
面向对象可以将复杂的问题简单化;更加符合现实生活中人们的思维角度;象更加符合管理者的角度,面向过程更加偏向执行者的角度。
使用面向对象思维进行开发
面向对象中有类和对象的概念。先有模板再试实例;先有类再有对象,根据类构建对象。
类:根据一些事物,提取其共性,相当于 模板。
对象:对象是表示生活中的具体事例|实例。
类
自定义类:类的定义中最主要的是定义 属性 方法。
属性:可以说是事物的特点或特征 。定义在类中方法外
方法:也可以说是功能,是能做什么。 成员方法:不加static修饰的
class 类名{
//属性
修饰符 数据类型 变量名 = 赋值;
//成员方法
修饰符 返回值类型 方法名(参数){
方法体;
}
}
创建一个电话类:
public class Phone01 {
//属性
//颜色,品牌,尺寸,价格
public String color;
public String brand;
//功能
//打电话
public void call(){
System.out.println("正在拨通电话.....");
}
对象
我们有了类,之后就可以根据类来创建具体的实例了,这就是对象。
引用数据类型的使用
上面创建的类也是一个引用数据类型,我们就简单了解下引用数据类型的使用步骤:
1>导包 1)同包下的类 2)java.lang 这两个可以不用导包
2>创建当前引用类型的引用 即创建对象,用new
引用数据类型 引用名 = new 引用数据类型();
3>使用
引用名.功能名字(实参);
引用名.属性名;
对象的使用
我们创建对象也是需要引用我们创建的类,使用方法是相同的。因为创建的类和对象是在同一个包下,因此我们不必导包。
可以直接使用new关键字来 创建对象。
之后使用就可以了 **引用名.功能名字(实参); **
引用名.属性名;
下面我们就对创建的手机类,创建一个对象(实例)。
public class PhoneTest02 {
public static void main(String[] args) {
//1.创建对象 手机对象
//new关键字是创建对象使用
Phone01 p = new Phone01();
//2.使用功能
p.call();
//3.使用属性
p.brand = "华为";
p.price = 7000;
System.out.println(p.brand);
System.out.println(p.price);
}
}
构造器
说到构造器,我们先来简单了解下new的作用机制
new关键字做的事情:
1.在堆中为对象开辟空间,成员变量会跟随对象进入到堆内存并附默认值
2.调用构造器为对象初始化信息
3.将地址返回给引用
构造器:构造函数,构造方法
构造器 必须跟随new关键字使用。我们从new的作用机制中也可以看出来,有一步是调用构造器初始化的,但有人可能会问了,我们也没有写构造器啊。这是因为在编译的时候自动生成了一个空的构造器。
作用:
只能new关键字才能创建对象,构造器只能为对象初始化信息(就是为对象的成员变量赋值) ,不能创建对象
定义:
修饰符 类名(){
}
构造器不需要定义返回值和void
可以定义return,但是不需要return带出返回值
注意:构造器是