java继承和多态代码 java 继承 多态

用Java继承和多态实现编写代码

代码如下:

在绥芬河等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站设计 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站制作,全网整合营销推广,成都外贸网站建设,绥芬河网站建设费用合理。

abstract class DongWu {

public abstract void info();

}

class Bird extends DongWu {

@Override

public void info() {

System.out.println("我是一只鸟。");

}

}

class Fish extends DongWu {

@Override

public void info() {

System.out.println("我是一条鱼。");

}

}

public class App5 {

public static void main(String[] args) {

DongWu bird = new Bird();

bird.info();

DongWu fish = new Fish();

fish.info();

}

}

java继承多态和抽象类接口?

一、继承

通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类。已有的称为父类,新的类称为子类(父类派生子类,子类继承父类)。

(1)继承的优点:

①代码的可重用性;

②父类的属性的方法可用于子类;

③子类可扩展父类的属性和方法;

④设计应用程序变得更加简单。

(2)关键字“isa”用于判断父类和子类的继承关系是否正确。

(3)Java中继承的实现:

public class 子类extends 父类{}

(4)继承的单根性:在Java中一个类只能有一个父类;

传递性:一个Java类可以父类,父类也可以有父类。

(5)所有类的根类:

Object类,又叫基类或超类。

Object类是每个Java类的父类,要么是直接的父类,要么就是间接的父类。

Object类中的三个重要方法:

①public boolean equals(Objectx):检测两个对象是否相等。

该方法经常被重写。若两个对象通过该方法判断是相等的,那么两个对象的hashCode()方法应该产生相同的哈希码

②public String toString:该方法返回对象的字符串表示。

用字符串来表示对象有助于调试或测试。

③protected void finalize() throws Throwale:

该方法在对象将要被垃圾回收时调用。

(6)方法重写:

子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。

该行为方法生在子类中,对父类方法重写。

子类重写父类方法时,北京北大青鸟认为必须遵循如下规则:

①子类的方法的返回值类型、方法名和形式参数列表必须和父类中的是相同的;

②访问修饰符必须不小于父类中的访问修饰符;

③子类中重写抛出的异常不能比父类中抛出的异常多。

java中继承和多态区别?

总的来说:编译时看父类,运行时看子类。

继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。

多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。

用java继承,多态与接口

题目有关回答如下,供参考:

4、this:当前对象的引用

super:当前对象的超(父)类对象的一个引用

5、继承是面向对象最显著的一个特性。

继承的意义:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

定义继承:使用关键字 extends 来实现继承

6、多态(Polymorphism)按字面的意思就是“多种状态”,也是面向对象的一个特性。

允许将子类类型的引用赋值给父类类型的引用。

7、代码如下:

/**

* 父类(图形)

* @author qd

*

*/

abstract class Figure {

double area;

}

/**

* 求面积的接口

* @author qd

*

*/

interface Area {

public void getArea();

}

/**

* 三角形

* @author qd

*

*/

class Triangle extends Figure implements Area {

// 底

double bottom;

// 高

double high;

public Triangle(double bottom, double high) {

super();

this.bottom = bottom;

this.high = high;

}

@Override

public void getArea() {

area = bottom * high * 0.5;

System.out.println("三角形面积是:" + area);

}

}

/**

* 正方形

* @author qd

*

*/

class Square extends Figure implements Area {

// 边长

double length;

public Square(double length) {

super();

this.length = length;

}

@Override

public void getArea() {

area = length * length;

System.out.println("正方形面积是:" + area);

}

}

/**

* 圆

* @author qd

*

*/

class Circular extends Figure implements Area {

// 半径

double radius;

public Circular(double radius) {

super();

this.radius = radius;

}

@Override

public void getArea() {

area = Math.PI * radius * radius;

System.out.println("圆面积是:" + area);

}

}

public class Test {

public static void main(String[] args) {

// 三角形对象

Area triangle = new Triangle(3, 4);

triangle.getArea();

// 正方形对象

Area square = new Square(4);

square.getArea();

// 圆对象

Area circular = new Circular(2);

circular.getArea();

}

}

8、代码如下:

/**

* 球类

* @author qd

*

*/

class Ball {

// 私有成员变量半径

private double r;

public double getR() {

return r;

}

public void setR(double r) {

this.r = r;

}

}

/**

* 台球

* @author qd

*

*/

class Billiards extends Ball {

// 私有成员变量颜色

private String color;

public void setColor(String color) {

this.color = color;

}

// 输出信息

public void printMess(Billiards billiards,Ball ball) {

System.out.println("台球的颜色是:" + billiards.color + "   台球的半径是:" + ball.getR());

}

}

/**

* 公有测试类

* @author qd

*

*/

public class TestBall {

public static void main(String[] args) {

Ball ball = new Ball();

ball.setR(5);

Billiards billiards = new Billiards();

billiards.setColor("白色");

billiards.printMess(billiards,ball);

}

}

7题和8题测试如下:


分享题目:java继承和多态代码 java 继承 多态
网址分享:http://scyanting.com/article/ddiphep.html