Java面向对象,继承,多态

1,继承

Java 中通过 extends 关键字可以继承一个类,implements可以继承多个接口。继承允许创建等级层次的类。

继承的机制提高了代码的复用性,让类与类之间产生了关系,有了这个关系,才有了多态的特性。

注:Java支持单继承,但是可以多层继承。

子类可以拥有父类的非private的方法和属性,子类可以继承父类的方法,也可以重写父类的方法,还可以对父进行拓展。

增加了类之间的联系,即提高了耦合。

一般格式为:

class 父类 { }

class 子类 extends 父类 { }

Demo1:

 1 package com.hpioneer.Demo;
 2
 3 public class Test_Extends {
 4     public static void main(String[] args) {
 5         Zi z = new Zi();
 6         //z.show();
 7     }
 8 }
 9 class Fu {
10     static {
11         System.out.println("静态代码块Fu");
12     }
13
14     {
15         System.out.println("构造代码块Fu");
16     }
17
18     public Fu() {
19         System.out.println("构造方法Fu");
20     }
21 }
22
23 class Zi extends Fu {
24     static {
25         System.out.println("静态代码块Zi");
26     }
27
28     {
29         System.out.println("构造代码块Zi");
30     }
31
32     public Zi() {
33         System.out.println("构造方法Zi");
34     }
35 }

Demo2:

super关键字可以用来实现对父类成员的访问,来引用当前对象的父类。this关键字用于指向自己。

super可以调用父类的构造方法,方法(和子类相同的,被重写)

 1 class Animal {
 2   void eat() {
 3     System.out.println("animal : eat");
 4   }
 5 }
 6
 7 class Dog extends Animal {
 8   void eat() {
 9     System.out.println("dog : eat");
10   }
11   void eatTest() {
12     this.eat();   // this 调用自己的方法
13     super.eat();  // super 调用父类方法
14   }
15 }
16
17 public class Test {
18   public static void main(String[] args) {
19     Animal a = new Animal();
20     a.eat();
21     Dog d = new Dog();
22     d.eatTest();
23   }
24 }

2,重载(Override)和重写(Overload)

重写是对父类允许的方法的实现重新编写,返回值和参数都不能改变。

重载是一个类里面,方法名相同,参数不同,返回值类型也可以不同。

原文地址:https://www.cnblogs.com/H---/p/8992284.html

时间: 2024-10-09 03:12:44

Java面向对象,继承,多态的相关文章

Java面向对象㈡ -- 继承与多态

Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆盖的概念.覆盖被用来支持多态.实际开发中Java通常继承于抽象类,实现于接口.如果不希望一个类被继承,或者一个方法被覆盖,或者一个成员变量被改变,就可以用final修饰.这里只说明两个问题:1,重载和覆盖的区别重载和覆盖的区别:重载发生在同一个类之中,重载要求函数名相同,参数不同(参数个数||参数类

Java面向对象的多态

Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可以指向它本类的对象,不仅如此父类的引用还可以指向子类的对象,这就是引用多态 用简单的代码来看一下引用多态的含义: 动物类:Animal 1 public class Animal { 2 public Animal(){ 3 System.out.println("Animal类的构造方法被执行&q

Java封装继承多态

Java中的类可以分为三种: 类:使用class定义且不含有抽象方法的类. 抽象类:使用abstract class定义的类,它可以含有,也可以不含有抽象方法. 接口:使用interface定义的类. 类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口. 抽象类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口. 接口只能继承(extends)接口. 1.封装 类使得数据和对数据的操作集成在一起

JavaSE入门学习18:Java面向对象之多态

一Java多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现.比方我们说"宠 物"这个对象.它就有非常多不同的表达或实现,比方有小猫.小狗.蜥蜴等等.那么我到宠物店说"请给我一仅仅宠物", 服务员给我小猫.小狗或者蜥蜴都能够,我们就说"宠物"这个对象就具备多态性. 接下来让我们通过实例来了解Java的多态. 实例: Vegetarian.java源文件代码: <span style="font

对Java面向对象中多态的理解

理解的要点:多态意味着父亲的变量可以指向子类对象 面向对象程序设计的三大支柱是封装.继承和多态 封装对外把相应的属性和方法实现的细节进行了隐藏.继承关系使一个子类继承父亲的特征,并且加上了一些新的特征.子类是它的父亲的特殊化, 每一个子类的实例都是其父亲的实例,但是反过来就不成立.例如:每个圆都是一个几何对象,但并非每一个几何对象都是圆.因此,总可以将子类 的实例传给需要父亲型的参数.考虑如下的代码. class Person{ String name = "John"; public

3、面向对象-继承-多态

1.继承 子类可以继承父类的一切,一个子类只能有一个父类,一个父类可以有多个子类 //父类 class Ren{ public $name; public $sex; public $yuyan; function Say()    { echo $this->name."正在讲话!"; } } //美国人的子类 class America extends Ren{ public $ziben; //子类对父类的方法重写 function Say()    {    parent

Java 封装 继承 多态

一. 封装 a) 概念:装进去,封起来 b) 作用:方便.安全 方便:调用(一处编写,N处调用),修改(一处修改,处处响应). 安全:数据安全(将属性私有化,提供共有方法,可以在方法中验证传参的有效性,合法性),访问安全(通过包或访问修饰符,限制类或属性或方法的访问级别,只让需要知道的地方知道) 1.1. 构造方法 a) 定义:负责对象初始化任务,通常用来给属性赋值的. b) 特点:与类同名,没有返回类型,系统默认会提供无参构造方法. Dog dog = new Dog(); c) 变量的作用域

Java面向对象—继承

概述: 1.多个类相同的属性和功能抽取成另一个类, 让具有特有功能的类继承这个类. 2.通过 extends 关键字可以实现类与类的继承 格式: class 子类名 extends 父类名 {} 特点 : 1.一个类只能有一个父类,不能有多个父类 2.Java 支持多层继承 package cn.czbk.no5; public class TestExtends { public static void main(String[] args) { C c=new C(); c.ashow();

Java面向对象练习题多态测试

按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和: (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!): (4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现 接口的类. //Inte

java 面向对象 继承

在看菜鸟教程中学习JAVA   记录下学习的,以后好复习. 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下: class 父类 { } class 子类 extends 父类 { } 现在来看看例子怎么写的,如下先创建一个父类: public class Animal { private String name; private int id; public Animal(String myName, int myid) { name = myN