第四章 面向对象的概念和Java实现(二)

 

面向对象的特点:( 1 )、封装。( 2 )、继承。( 3 )、多态 .

继承主要有点:代码的可重用性。使用关键字 extends 来继承类。

一个类一经定义和调试,便可以用来创建新的子类的对象中,子类 Car Ship Plane 具有与父类相同的属性和方法。

子类构造方法

构造方法用于初始化特定类型的对象并分配内存,构造方法的名称与类名相同。创建对象时会自动调用构造方法。类似地,子类的构造方法的名称也与子类名相同,创建子类的对象时将调用此构造方法。需要注意的是,子类永远不会继承父类的构造方法除了构造方法之外,父类的所有方法和属性都由子类的对象继承。创建子类的对象时,它将会包含父类的所有方法和属性。父类的值应该正确地初始化,这一点非常重要。子类构造方法可以调用父类构造方法。需要注意的是,父类构造方法的调用总是先于子类构造方法的调用。

另一方面,通过使用关键字 super ,程序员还可以从子类构造方法中调用父类中默认构造方法或或带参数的构造方法。调用父类调用父类构造方法的语句应该为子类构造方法中的第一个语句这是因为父类先于子类存在。例 :

auper(parameter_list) or super();

多态性

函数不能嵌套,也就是函数内部不能出现函数。

重载方法 :参数列表不同( 1 )、数目不同( 2 )、参数类型不同。( 3 )、参数顺序不同。

重写方法 :在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出项在子类中的方法,而父类中的方法将被隐藏。

多态性: 一个子类有自己的属性,又有父类的属性。这种状态叫多态性。

Super  :( 1 )、子类的构造方法可用来调用父类的构造方法。

              2 )、调用已被重写的父类的方法(可以不是第一句)。

访问修饰符

1、   public (公有):类的 public 成员可以被该类的成员和非该类的成员访问。可应用于:类、方法、属性。

2、   private (私有):类的 private 成员只能被该类的成员访问,任何非该类成员的代码不能访问任何私有方法或变量。使用 private 访问修饰符的主要目的是隐藏数据。

3、   protected (保护):类的 protected 成员可以被该类的成员以及其子类的成员访问。它还可以被同一个包内其他类的成员访问。

4、   default ):还有一种缺省( default )情况,就是类成员什么修饰符也没有的时候,只有它本身的类和在同一个包的类里可以访问它。

位置

private

   default

   protected

    public

同一个类

同一个包内的类

不同包内的子类

不同包并且不是子类

方法修饰符

static 修饰符 :方法被 static 后这个方法就是类的了,只能通过类调用。静态的方法只能使用静态的东西。

方法声明为静态时具有某些限制,具体内容如下。

Ø                                      它们只能调用其他静态方法。

Ø                                      它们必须只访问静态数据。

Ø                                      不能使用关键字 this super

final 修饰符: 有时候程序员可能需要定义一个不会改变的类成员。 final 修饰符可应用于类、方法和变量。

可用于类:不能被继承了

方法:不能重写。但它的值可以更改。

属性:变成常量。

abstract 修饰符 :父类中的某些方法不包含任何逻辑,并且需要由子类重写。在这种情况下,应该使用关键字 abstract 来声明父类中的方法。子类提供这种 abstract 方法的实现细节,而父类仅提供此方法的名称和声明,没有方法的主体。因此子类应负责重写此方法。语法为:

abstract type methodname parameter list

只有方法没有方法体就是抽象方法。前面必须要加 abstract 。类中出现了抽象方法,则该类为抽象类。抽象方法未必有抽象方法。抽象类不能实例化对象。被继承的子类一般要实现所有抽象方法。抽象父类和抽象子类可以有含有方法体的方法,但是也不能实例化,可以通过抽象子类的子类来实现抽象父类和抽象子类。

接口

所有方法都必须抽象。

接口定义和类定义类似,在 Java 中要定义一个接口,是通过 interface 关键字。接口里可以声明一些方法和常量。语法:

public interface firstInterface

接口的实现和使用: implements 。语法:

public class InterfaceDemo implements MyInterface

创建接口时必须牢记以下几点:

Ø          接口中的所有方法必须是 public 类型或默认类型。

Ø          方法仅仅是声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值