Java4Android第5课:java的继承性

转载 2016年05月31日 15:30:25

一、继承的作用

如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量。减少重复代码,适应客户不断变化的需要。

继承的限制:子类不能访问父类的私有变量和方法;子类覆写的方法不能缩小权限。

二、继承的格式:

class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
}

class Student extends Person{
}

public class Ext {
public static void main (String args[]) {
Student stu = new Student();
stu.setAge(10);
System.out.println(stu.getAge());
}
}


三、构造方法

1、如果一个类没有实现构造方法,java编译器会给它定义一个空的构造方法

2、实例化子类对象时,先调用父类的构造方法,再调用子类的构造方法

3、super关键字:super表示父类,子类的构造方法里会默认调用super(),也可以在子类构造方法中首行自己调用super(),可加参数。


四、final关键字

final类不能有子类;final方法不能被覆写;final变量变成常量;


五、抽象类

abstract class 类名 {
    属性;
    普通方法 { }
    
    // 抽象方法
    访问权限  abstract 返回值类型 方法名 (参数) ; /* 只需要声明,不需要实现 */
}

作用:规定子类必须实现的方法,起“模板”作用

不能实例化对象

子类必须覆写全部抽象方法


六、接口

接口作用:
接口是公开的,侧重于方法;
定义接口就是定义调用对象的标准。java中的接口跟现实世界的USB接口进行类比。如果设备需要使用USB接口进行供电或者通信,那么就必须遵循USB接口的标准;
我们经常会看到这样的程序结构:最顶级是接口,然后是抽象类实现接口,然后才是具体类的实现。用户使用:把具体类的对象向上转换为接口类型并赋值给接口类型的引用,该引用调用接口的方法。用户只需要看接口的说明,不用关心具体类的实现。
接口语法:
(1)// 接口由全局常量、公共的抽象方法组成
interface 接口名称 {
    全局常量;
    抽象方法;
}
(2)子类可以继承多个接口,突破“单继承”限制;
(3)一个接口可以继承多个接口;

interface A {
    public static final i = 10;
    public abstract int getNumber( );
}

interface B {
    public static final String name = "www.100ask.net";
    public abstract int getName( );
}

class C implements A,B {
    //覆写A中方法
    public int getNumber () { return i; }

    //覆写B中方法
    public int getName () { return name; }
}

java-面向对象编程-三大特性之继承

面向对象的编程语言,拥有三大特性,分别是:“继承”,“多态”,“封装”。这三个特性贯穿了面向对象编程语言的方方面面,也是区别于面向过程语言的三个标志。所以,掌握这三个特性,将有助于你在学习面向对象编程...
  • dengminghli
  • dengminghli
  • 2017年01月15日 21:36
  • 1247

java继承之属性与方法访问

以下讨论都是基于从子类实例进行属性/方法访问出现的情况.建议先看文章-jvm解析与分派 1.从父类方法(未重写)访问属性时,永远都只使用父类属性.public class Test { pub...
  • u013855332
  • u013855332
  • 2016年06月11日 16:23
  • 1148

尚学堂百战程序员1573题 第五章

第五章 面向对象 1. 简述面向对象和面向过程的区别和联系? 2. 对象和类的关系是? 3. 栈的特点是?存放什么内容? 4. 堆得特点是?存放什么内容? 5. 【上机】画出如下程序的内...
  • q2wxec
  • q2wxec
  • 2017年06月13日 17:03
  • 1590

java子类的继承性

  • 2014年05月07日 12:33
  • 75KB
  • 下载

Java实验2 类的继承性

实验2 类的继承性 一、实验目的 掌握面向对象的继承性在Java中的实现方法;掌握super关键字的用法,体会抽象类和抽象方法的作用。 二、实验内容 1.程序理解: 1)类的继承2)第4章课...
  • lzq_20150715
  • lzq_20150715
  • 2016年04月09日 18:31
  • 3314

java实验3.(1)类的继承性和多态性

需求:编写一个程序(Fruit.java),其中有三个类:Fruit,Orange、Apple,其中,Orange、Apple是Fruit的子类: (1)类Fruit有eat()和main()(入口...
  • qq_33826977
  • qq_33826977
  • 2017年04月14日 12:25
  • 327

java中类的继承性和多态性实例

题目描述: 编写一个程序(Fruit.java),其中有三个类:Fruit,Orange、Apple,其中,Orange、Apple是Fruit的子类: (1)类Fruit有eat()和main()...
  • Lv_Victor
  • Lv_Victor
  • 2015年12月04日 12:45
  • 847

Java 下一代: 没有继承性的扩展,第 1 部分

Java 语言的设计有目的地进行了一定的删减,以避免前代产品中已发现的一些问题。例如,Java 语言的设计人员感觉 C++ 中的多重继承性带来了太多复杂性,所以它们选择不包含该特性。事实上,他们在该语...
  • ALDRIDGE1
  • ALDRIDGE1
  • 2014年01月13日 13:09
  • 797

Java面向对象中的继承性

Java语言中面向对象的继承性的介绍,以及继承中会发生的几种情况,还有继承中涉及到的关键字this和super。...
  • lecheng_zhang
  • lecheng_zhang
  • 2017年07月09日 20:10
  • 90

java面向对象(十) 继承性

继承性是面向对象的第二大主要
  • lzl_csdn
  • lzl_csdn
  • 2014年10月21日 20:31
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java4Android第5课:java的继承性
举报原因:
原因补充:

(最多只允许输入30个字)