面向对象01

什么是面向对象?

面向对象编程即OOP
在讲解面向对象之前,我们先讨论下面向过程和面向对象的区别

面向过程:
步骤清晰简单,明确第一步做什么,第二步做什么。适合处理简单问题。
比如喝水这个事情,面向过程分析就是先找到一个杯子,拿着杯子去饮水机,打开饮水机接水,然后喝水。而面向对象则是直接喝水。
面向对象:
面向对象适合处理一些复杂的问题,适合多人协同开发。但是面向对象和面向过程并不是彼此分离的,他们之间相互联系。面向对象是从宏观上把握,具体实现的时候依旧是需要面向过程的思路去解决问题。

面向对象其实就是以类的方式组织代码,以对象的方式组织(封装)数据

面向对象的三大特性:
封装,继承,多态

回顾方法

方法的定义:

修饰符 返回值类型 方法名(参数){
方法体
}

break和return的区别:
break跳出switch,结束循环
return返回某个值

方法名:
起名要规范,做到见名知意

方法的调用:
静态方法static:
在一个包下,静态方法可以直接通过类名调用
非静态方法:
非晶态方法的调用必须先实例化,也就是先new一个实例对象出来才可以调用

看一个例子:
public class Opp01 {

public static void main(String[] args) {
    
}
public void a(){
    a();
}
public void b(){
    
}

}
当a,b方法均为非静态方法时,a可以调用b方法。但是如果把a方法改为静态方法,那么当a再调用b的时候就会报错,这是为什么?
这里我们要知道,static是和类一起加载的,当类存在时它就存在了,也就是a方法相当于在类创建时就有了,而b方法需要对象实例化之后才存在,一个已经存在的去调用不存在的,当然会报错。

形参与实参

public int add(int a,int b){
return a+b;
}

这里参数列表里面的a和b只是占位符,用来传递参数,并不是真正的参数,称作形参。返回值返回的a和b才是实际参数。

值传递和引用传递

Java里其实都是值传递。
这里的引用传递其实是传递对象,但是本质还是值传递。

类与对象的创建

使用new关键字创建对象
一个类即使什么都不写,也会存在一个默认存在的方法。默认方法与类名相同,并且没有返回值,他可以为我们初始化一些信息。

构造器:
特点:和类名相同,没有返回值
作用:使用new关键字必须要有构造器,他可以初始化对象的值,一旦定义了有参构造,无参构造必须显示定义,否则会报错。因此我们习惯先写一个午无参构造再去写有参构造。

类与对象小结

1.类是一个模板,是抽象的,对象是一个具体的实例
2.方法的定义和调用
3.对象是通过引用来操作的:栈->堆
4.属性,默认初始化,如int,char,boolean等的默认值
5.对象的创建和使用,必须使用new关键字,要有构造器,对象的使用,对象的属性,对象的方法等都需要自己好好思考。
6.三大特征,继承,封装,多态

无标签
打赏
评论区
头像