Java语言面向对象的一些基本特点


封装

1、 面向对象语言使用class封装属性和方法。

2、 属性一般要求定义为private,封装保护

继承。

继承的例子随处可见。需要符合is-a关系,父类更加通用,子类更加具体。

在子类中使用super关键字:

1、调用父类的构造方法使用super

2、在子类中可以使用super调用父类中方法

多态:

1、 开闭原则:能够添加新的代码而不是修改原有代码来使用需求的变更。对修改关闭,对增加开放。

2、 子类可以无条件的给父类赋值。

多态的实现方式:

1、普通类

2、抽象类

3、接口(推荐);

Java的构造方法理解:

Java构造方法是Java类中的一个比较特殊的方法,特殊在以下几点:

1、 该方法一定与类同名,

2、 该方法没有返回值(void也不行)

3、 该方法不能手工调用,在创建类的实例的时候被系统自动调用

4、 一个类可以没有自定的构造方法,它将使用系统的隐式午餐构造方法,也可以自定义多个构造方法,他们之间构成重载,可以相互调用。

5、 如果自定了有参构造函数,将会评比系统默认的无参构造函数

6、 构造方法不能被继承,决定了他不能重写,直接子类调用父类方法,使用super关键字。

Java中的接口与抽象类

1、 接口中的方法和属性必须是public

2、 方法特征的集合,但是没有方法的实现。

3、 一个类可以实现一个或多个接口,只可以继承一个类

4、 接口没有方法实现,不能达到复用的目的。为了达到复用的目的,可以使用抽象类,

抽象类的特点;

1、 不可实例化,与接口一致,都不可以实例化。

2、 接口中只可以定义常量和抽象方法,抽象类与普通类的不通知仅在于其中存在有抽象方法,,继承与抽象类必须实现被继承类中的抽象方法。

3、 抽象类是一个未定义完整的类。其中的抽象方法将会延迟到子类去实现

4、 抽象类+子类实现的抽象防范 == 完整的类,

几个简单的问答:

1、 一个抽象类可不可以没有抽象方法、 可以,他可以和一个完整的类一样,但是这样就失去了抽象类存在的意义

2、 可以有多个抽象方法,抽象方法一定不能有实现。

3、 一个普通类中是否可以包含抽象方法? 当然不可以,若有,将会变成抽象类

4、 抽象类的子类一定要实现抽象类中的抽象方法,不一定对,其子类可以为抽象类,

5、 接口的实现类一定要实现接口中多定义的方法吗?如果接口的实现类没有实现接口中抽象方法、其必须为抽象类

6、 接口是可以继承的。

本文永久更新链接地址

相关内容