0
点赞
收藏
分享

微信扫一扫

10月最新H5自适应樱花导航网站源码SEO增强版

infgrad 2023-10-26 阅读 36

1.多态

        以不同参数调用父类方法,可以得到不同的处理,子类中无需定义相同功能的方法,避免了重复代码编写,只需要实例化一个继承父类的子类对象,即可调用相应的方法,而只需要维护附父类方法即可。

package classExtends;

public class Quadrangle { //定义四边形类
private Quadrangle[] qtest = new Quadrangle[6];
private int nextIndex = 0;
public void draw(Quadrangle q) {
System.out.println(qtest.length);
if (nextIndex < qtest.length) {
qtest[nextIndex] = q;
System.out.println(nextIndex);
nextIndex++;
}
}

public static void main(String[] args) {
Quadrangle q = new Quadrangle(); //实例化四边形Quadrangle对象,用于调用draw()方法
q.draw(new Square()); //以Square正方形对象为参数调用draw()方法
q.draw(new Paralllelogram()); //以Paralllelogram对象为参数调用draw()方法
}
}

class Square extends Quadrangle { //定义正方形
public Square() {
System.out.println("正方形");
}
}

class Paralllelogram extends Quadrangle { //定义平行四边形
public Paralllelogram() {
System.out.println("平行四边形");
}
}

输出:
正方形
6
0
平行四边形
6
1

2.抽象类

        2.1 关键字:abstract

        一般将父类定义为抽象类,使用这个父类进行集成和多态处理;使用abstract关键字定义的类是抽象类,使用abstract关键字定义的方法是抽象方法;抽象类除了被继承外,无任何其他意义。

        2.2 抽象类不可以实例化对象。

        2.3 抽象方法没有方法体。

        2.4 抽象类被继承后需要实现其中所有的抽象方法。

                也就是保证以相同的方法名称,参数列表,相同的返回值类型创建出非抽象方法。

        语法:

3.接口

3.1 接口简介

        接口就是抽象类的延伸,可以将接口看做纯粹的抽象类。

3.2 接口特点:

        3.2.1 接口也是一种抽象类,不可以实例化对象。

        3.2.2 接口中所有的方法没有方法体,且需要在其他类中被重写覆盖实现。

        3.2.3 接口中所有的方法都没有方法体。

        3.2.4 使用关键字【interface】进行定义。

        语法:

        3.2.5 一个类实现接口时使用关键字【implements】.

        语法:

        3.2.6 接口中,方法必须被定义为publicabstract

        2.3.7 接口中定义的任何字段都自动是【static】和【final】的。

        2.3.8 一个类可以实现多个接口

package classExtends;

interface drawTest { //定义接口
public void draw(); //定义方法
}

//定义平行四边形类,继承四边形类,并实现接口drawTest
class ParallelogramgleUseInterface extends QuadrangleUseInterface implements drawTest {
public void draw() { //由于本类实现了接口drawTest,所以需要重写覆盖draw()方法
System.out.println("平行四边形.draw()");
}

public void doAnything() { //重写覆盖父类方法
//someSentence;
}
}

class SquareUseInterface extends QuadrangleUseInterface implements drawTest {
public void draw() {
System.out.println("正方形.draw()");
}

public void doAnything() { //重写覆盖父类方法
//someSentence;
}
}


public class QuadrangleUseInterface { //定义四边形类
public void doAnything() {
//someSentence;
}

public static void main(String[] args) {
drawTest[] d = {new ParallelogramgleUseInterface(), new SquareUseInterface()}; //接口也可以进行向上转型操作
for (int i = 0; i < d.length; i++) {
d[i].draw(); //调用draw()方法
}
}
}

输出:
平行四边形.draw()
正方形.draw()

举报

相关推荐

0 条评论