类与对象:
面对对象程序设计具有以下特点:封装性,继承性,多态性.
封装:将对象的属性和行为封装起来,载体是类
继承:主要利用特定对象之间的共有属性
多态:可以以统一的风格编写程序,来处理种类繁多的已存在的类及相关类
![](https://i-blog.csdnimg.cn/blog_migrate/2d8fbc3918c428e3fd977511bc15c134.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6c67158f7fae86476cc695718c2da60a.png)
成员变量:对象的属性
![](https://i-blog.csdnimg.cn/blog_migrate/0e3688e82a756ce62b5e9e1707f5fcf5.png)
交换两个整数的值:
![](https://i-blog.csdnimg.cn/blog_migrate/c862e3c0b10a00b59736b3d35d3e6148.png)
类的构造方法:
![](https://i-blog.csdnimg.cn/blog_migrate/d90dcfdfa5d2b5c8161b7569353d0764.png)
java语言每个类只能继承一个父类
继承:
父类和普通类写法相同
public class 父类类名{
}
子类
public class 子类类名 extends 父类类名{
}
所有类的构造方法都有一个隐藏的“super();”
作用是在执行该构造方法之前调用其父类构造方法
Object类:是所有类的父类
方法的重写:
返回额参数相同 方法名相同 传入参数相同 方法体不同
toString()方法:
![](https://i-blog.csdnimg.cn/blog_migrate/3565e1dc14e230c8eba9083077f89437.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3a82ea31651b83b170f75023d64afd80.png)
equals()方法:
![](https://i-blog.csdnimg.cn/blog_migrate/f83aab9165acee5c37440575280c17ac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a2ecb4b0dcc4e3d89e2e7a1ce4a439e0.png)
重载:
方法名相同 参数不同
向上转型:
将子类对象赋值给父类引用
自动类型转型:
Animal a = new Dog();
向下转型:
将父类对象赋值给子类引用
强制类型转换:
Dog a = (Dog) new Animal();
抽象方法:
修饰符 abstract 返回参数 方法名 (传入参数);
抽象类 含抽象方法的一定是抽象类;
修饰符: abstract class 类名 {
}