扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
首先,需要了解一下java关于类继承和接口实现的基础理论知识,如下:
创新互联建站 - 中国电信成都枢纽中心,四川服务器租用,成都服务器租用,四川网通托管,绵阳服务器托管,德阳服务器托管,遂宁服务器托管,绵阳服务器托管,四川云主机,成都云主机,西南云主机,中国电信成都枢纽中心,西南服务器托管,四川/成都大带宽,成都机柜租用,四川老牌IDC服务商
类继承:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
接口实现:接口实现在java中是一种特殊继承方式,接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements,其基本格式如下:
[修饰符] class 类名 [implements 接口列表]{
}
然后,需要创建父类和定义接口,如下:
创建父类:
class Bird {
int legnum = 2;
void egg() {
};
}
定义接口:
interface Flyanimal{
void fly();
}
最后,可以创建一个类来继承上面的父类和实现上面的接口,如下:
class Pigeon extends Bird implements Flyanimal {
public void fly(){
System.out.println("pigeon can fly");
}
public void egg(){
System.out.println("pigeon can lay eggs ");
}
}
题目有关回答如下,供参考:
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基类,又称为父类。
基类表:基类表中存放各个基类名称。
基类说明符:基类类体中类成员的访问说明符。
扩展资料:
Java的三大特性:封装,继承,多态
封装:封装的主要作用是实现软件部位的“高内聚,低耦合”,防止程序相互依赖而带来的影响,封装主要是将对象的方法和属性封装到一个模块中,将这个模块中的属性私有化,只有这个类的方法和属性才能访问这个类的属性,这就基本实现了类的封装。封装分为封和装的两个步骤,装即将对象的属性和方法封装到一个类中,封即将对象的属性私有化,并且提供get/set方法以用来外部访问。
继承:在定义一个和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把已存在的类定义的内容作为自己的内容,并可以加入自己新的内容,或修改已定义的方法,让他更适合自己的需要,继承主要继承的是类的方法和属性,方法主要是对方法使用权限的继承,并不是对代码片段的继承,属性的继承,即是对成员变量的拷贝,是对内存空间的拷贝(堆内存)。
多态:多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编译期时并不确定,而是在方法的运行期才确定,即一个引用变量到底指向哪一个类的实例对象,该引用变量发出的方法到底会调用哪个类中的实现方法,必须在程序运行期才能确定。因为在 程序运行时才能确定哪个类,所以可以不用修改代码,就可以让应用变量绑定到不同的类上实现,让程序可以选择多个运行状态,这就是多态
参考资料:百度百科——派生类
class Point{
private int x, y;
//get / set
public Point(){
}
public Point(int x, int y){
this.x=x; this.y=y;
}
}
继承就是再extends Point、并添加相应的方法、属性
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流