面向对象java的特点_Java面向对象的三大特点

Java面向对象的三大特点:继承、封装、多态

继承

继承的起源

使用“is a”关系判断继承

Java中继承的实现

关键字:extends

实例化子对象

单继承和多继承

子类继承父类、父类还可以继承上一个类,称为传递继承。

Dog extends Animal;

Animal extends ShengWu;

所有类的根类Object

即object类是所有类的父类,object中所有的方法其他类都可以直接调用

方法重写

父类方法   Public void jiao(){system.out.print(“叫”)}

子类方法    Public void jiao(){system.out.print(“汪汪叫”)}

super关键字

super. 父类属性

this关键字

this.当前类属性

final关键字

final所修饰的类不可以被继承;所修饰的方法不可以被重写

实例化过程

调用父类的构造器

封装

访问修饰符

Public公共的:在任何一个地方都可以调用

protected  受保护的:在同意包中可以访问,或者不同胞中原类的子类中可以调用

default 默认的:同一包中可以使用,不写出修饰符

private 私有的:只有当前类可以使用

封装可以提高代码的重用性,提高代码的可移植性,可以隐藏实现细节

修饰类只能是public或者default

理解静态成员

static 静态的

静态方法不能访问实例成员

静态初始化块

static{

语句体;

}

实例初始化块

静态块在对象实例化的时候只会执行一次,所以可以用来给定对象的初始值

Javabean原则:实体类属性通常使用private修饰,通过set和get函数去设置和获取数据。

多态

向上转型自动转换  例如:Animal dog=new Dog();

父类对象的引用指向了子类对象的实例,向上转型后子类多特有的属性和方法就无效了。

如果子类重写了父类的方法,则调用子类的方法。

向下转型,类型还原      例如:Animal animal=new Dog();

子类特有的属性和方法就还原了  Dog dog=(Dog)animal;

instanceof           animal instanceof   Dog

在多态中,子类可以调用父类的所有方法(父类私有方法除外)。

abstract抽象的,不具备实际功能实现的,用来规范子类,只能修饰方法,抽象方法只能定义在抽象类里面,抽象类不能被实例化。子类必须实现这个方法,即子类必须重写父类的抽象方法。

public abstract class Animal{   代码体         }

接口

接口里面都是抽象方法,接口必定是抽象类

接口声明

public interface 接口名{          }

接口实现

接口需要重新定义一个类来实现里面的方法

public class 类名 implements 接口名

如果是子类来实现接口:

public class 子类名 extends 父类名implements 接口名{  }

接口应用

接口可以用于暴露类的行为,允许类的用户通过接口的实现来使用接口中的方法。

接口可以用于强制一个类具有某些行为。

在接口中声明成员变量

接口可以包含成员变量,但是成员变量只能用static和final关键字共同来修饰。由于接口不能被实例化,所以成员变量必须被声明为static,而声明为final是为了程序的可靠性。

Final属性在声明时就必须赋值。

接口继承

接口的继承同样是通过关键字extends

接口可以同时有多个。 implements 接口1,接口2…接口n

接口与多态

接口与抽象类的区别

二者都不能被实例化,用于被其他类实现或者继承。

二者都可以包含抽象方法,实现接口或者继承抽象类的子类都必须实现这些抽象方法。

区别:接口只能包含抽象方法,而抽象类可以包含普通方法。

接口不能定义静态方法,而抽象类可以定义。

接口只能定义静态常量属性,不能定义普通属性。而抽象类可以定义普通属性,也可以定义静态常量属性。

接口不包含构造器。抽象类里面的构造器做初始化工作。

接口中不包含初始化块。而抽象类可以包含初始化块。

一个类最多只有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口来弥补java单继承的不足。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值