Java面对对象编程
面对对象编程(OOP)是一种方法,用来反映现实事物的特征和行为,其中最重要的就是如何定义类,和创建对象。
1.什么是类(Class)?
顾名思义,类是类型,比如水果,狗,国家等这些可以囊括同种类但不同名称的实例
1.1 Java中类的格式
这里提一下public和private的区别,public是公有属性,可以在定义类名的外部进行调用更改,private是私有属性,只能在定义类名的内部进行修改。
public class 类名{
//属性
public String name;
private int weight;
//方法
public void method(){}
// 方法体(做什么)
// 构造方法
public 类名(参数类型 参数,参数类型 参数,....) {}
}
方法和构造方法有一定的区别。对于方法来说,它需要有返回值的,没有就添void。而对于构造方法,它不需要填写返回值,只需要填写类名再加上特点的参数,它的作用是为了初始化和创建对象。
1.2 this的用法
当我们看到一些源码的时候,会发现有this这个关键字的存在。this的用处在于:当参数名和属性的名称相同时,程序无法分辨改哪一个,所以就有了this用来区分属性和参数。this可以理解成当前使用的对象,是一个对象。
例如:
public class 类名{
//属性
public String name;
private int weight;
//方法
public void changeWeight(int weight){
this.weight = weight
}
// 方法体(做什么)
}
2.什么是对象(Object)?
例如,在类水果中,有火龙果、芒果、蓝莓,这些都是水果中的对象
在类狗中,有杜宾犬、马尔济斯犬、雪纳瑞犬,这些都是狗中的对象
2.1 Java中对象的格式
创建对象: 类名 对象名 = new 类名();//本质上是调用了构造方法
对象名.属性 = 值;
对象名.方法();
除了定义类,一些软件的功能需要数据的交互,计算机无法只从类中去获取数据或指令,所以我们就需要事件监听器,用接口来实现交互功能。
3.什么是接口?
用来获取指令或数据或实现对某个事件源的监听功能。
3.1 Java中接口的格式
public interface 接口名{
//常量 通常用全大写表示 可直接接口名.常量调用 但无法更改
//抽象方法
public abstract void method1();
public abstract void method2();
}
3.2 如何使用接口?
因为接口中的方法都是抽象方法,没有具体实现的功能。所以得创建个类用来继承接口,用来实现监听/交互功能。
3.2.1 子类继承接口格式
public class 子类 implements 接口{
//需要注意的是 接口中有多少种方法,继承的子类就得写多少种方法。
//这个例子中接口有2种,所以写2种。
public void method1(){
//方法1
}
public void method2(){
//方法2
}
}