Java初学(四)——J2SE之面向对象编程3(继承)

一、访问控制

(1)类成员的访问控制符有:public(公有的)、private(私有的)、protected(保护的)、default(缺省的)

(2)级别由小到大:private < default < protected < public

(3)对于class的权限修饰符只可以用public和default,public类可以在任何地方被访问,default泪痣可以被同一个包内部的类访问

二、继承

1、继承需要符合关系:is-a,子类具有父类的一般特性(包括属性和行为)以及自身的特殊特性,C++支持多继承,但Java只支持单继承(一个子类只能有一个基类,一个基类可以派生出多个子类)

2、继承的实现:Java中使用extends关键字实现类的继承机制

 <modifier>class<name>

[ extends<superclass>]

{......}

例: class pet {

                class Dog extends pet {...

}

}

3、继承与权限控制

有些父类成员不能继承

(1)private成员

(2)子类与父类不在同一个包,使用默认访问权限的成员

(3)构造方法

4、继承中的构造方法

(1)子类的构造的过程中必须调用其基类的构造方法

(2)子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法,使用this(argument_list)调用本类的另外的构造方法

(3)如果子类的构造法方法中没有显示调用基类构造方法,则系统默认调用基类无参数的构造方法

(4)如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错

5、Object类

(1)Object类是所有Java类的父类

(2)如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类

public class Person {

                .....

}

等价于:public class Person extends Object  {

                   ......

}

6、关键字:super

super.print ()  调用父类的方法

注意:调用必须作为子类构造方法中的第一条语句

例:

7、toString方法

(1)Object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的有关信息

(2)在进行String与其他类型数据的连接操作时,将自动调用该对象的toString()方法

(3)可以根据需要在用户定义类型中重写toString()方法

8、equals方法

(1)Object 类中定义有:

 public boolean equals(Object obj)方法,提供定义对象是否“相等”的逻辑

(2)定义:x.equals (y)当x和y是同一个对象的应用时返回true否则返回false

(3)J2SDK提供的一些类,如String,Date等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一个类对象且属性内容相等时(并不一定是形同对象),返回true否则返回false

(4)可以根据需要在用户自定义类型中重写equals方法

三、方法的重写

1、规则

(1)在子类中可以根据需要对从基类中继承来的方法的进行重写

(2)重写的方法名、参数列表和返回类型必须与父类方法相同

(3)重写方法不能使用比被重写方法更严格的访问权限

(4)私有方法不能继承因而也无法重写

2、方法重载与重写的区别

方法重载发生在同类中,参数不同,与返回值无关,与访问修饰符无关

方法重写发生在子类中,参数相同,返回值相同,访问修饰符不能比父类更严格(不能缩小,只能扩展,一般相同)

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值