面向对象
面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据。(就是继承多个面向过程的代码。)
三大特性:封装、继承、多态
构造器
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
1:必须和类的名字相同。
2:必须没有返回类型,也不能写void。
生成构造器的快捷键:alt+insert。
快速生成对象的快捷键:ctrl+alt+v。
//1. 使用new关键字,本质是在调用构造器
//2. 用来初始化值
public Student() {
}
//有参构造:一旦定义了有参构造,无参就必须显示定义
//类的重构.
public Student(String name, int age) {
this.name = name;
this.age = age;
}
封装
“高内聚,低耦合”,类的内部数据操作细节自己完成,不允许外部干涉,同时仅暴露少量的方法给外部使用。
属性私有:get/set
私有:private
特点:
1:提高了代码的安全性,保护数据
2:隐藏代码的实现细节。
3:统一接口。
4:系统可维护增加了。
继承
extends的意思是“扩展”。子类是父类的扩展。
JAVA中只有单继承没有多继承。一个儿子只有一个爸爸,但是一个爸爸可以有多个儿子。
父类私有的方法和属性无法被继承。
创建子类的对象是,会优先创建子类的父类的无参构造器,然后才创建子类的无参构造器。
this为了获取当前类中的属性或者方法。
super为了获取父类中的属性或者方法。
super注意点:
1.调用父类的构造器,必须要在子类构造器的第一行。
2.super必须只能出现在子类的方法或者构造方法中。
3.super和this不能同时调用构造方法。
this:调用本类的对象。
super:调用父类的对象。
this:没有继承可以使用。
super:只能在继承条件才可以使用。
this:本类的构造。
super:父类的构造。
重写
需要有继承关系。子类重写父类的方法!
1.方法名必须相同。
2.参数列表必须相同。
3.修饰符:范围可以扩大但不能缩小:public>protected>default>private。
4.抛出的异常:范围,可以缩小但是不能扩大。
多态
//Studet可以调用的方法都是自己的或者继承父类的。
Student s1 = new Student();
//Person可以指向子类,但是不能调用子类独有的方法。
Person s2 = new Student();
//对象能执行哪些方法,主要看对象左边的类型,和右边关系不大!
((Student)s2).song();//子类重写了父类的方法,执行子类的方法。
s1.song();
特点:
1.父类引用指向子类的对象。
2.把子类转换为父类,向上转型。
3.把父类转换为子类,向下转型。
4.方便方法的调用,减少重读的代码!简洁。
抽象类
abstract 抽象类:类 extends:单继承~ (接口是可以多继承的)
abstarct方法,是抽象方法,只有方法名字,没有方法体。
1.抽象类不能被new成事例,只能通过子类去继承。
2.抽象类中可以写普通方法。
3.抽象方法必须在抽象类中。
接口
interface定义接口关键字,接口都需要有实现类。接口不能被实例化。
接口中的所有方法定义都是抽象的。
实现接口通过implements关键字实现接口。实现接口需要重写接口中所有的方法。接口可以实现多继承。
implements 接口1,接口2,,,,,,,

浙公网安备 33010602011771号