高新网站制作哪家好,高端品牌网站建设哪家好,wordpress在线生成二维码,百度指数分析大数据1.多态 以不同参数调用父类方法#xff0c;可以得到不同的处理#xff0c;子类中无需定义相同功能的方法#xff0c;避免了重复代码编写#xff0c;只需要实例化一个继承父类的子类对象#xff0c;即可调用相应的方法#xff0c;而只需要维护附父类方法即可。
package c…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(平行四边形);}
}输出正方形60平行四边形61
2.抽象类 2.1 关键字abstract 一般将父类定义为抽象类使用这个父类进行集成和多态处理使用abstract关键字定义的类是抽象类使用abstract关键字定义的方法是抽象方法抽象类除了被继承外无任何其他意义。 2.2 抽象类不可以实例化对象。 2.3 抽象方法没有方法体。 2.4 抽象类被继承后需要实现其中所有的抽象方法。 也就是保证以相同的方法名称参数列表相同的返回值类型创建出非抽象方法。 语法 public abstract class Test{ //定义抽象类 abstract void testAbstract(); //定义抽象方法 } 3.接口
3.1 接口简介 接口就是抽象类的延伸可以将接口看做纯粹的抽象类。
3.2 接口特点 3.2.1 接口也是一种抽象类不可以实例化对象。 3.2.2 接口中所有的方法没有方法体且需要在其他类中被重写覆盖实现。 3.2.3 接口中所有的方法都没有方法体。 3.2.4 使用关键字【interface】进行定义。 语法 public interface drawTest{ void draw(); } 1.public: 接口可以像类一样被权限修饰符修饰但public关键字仅限于接口在与其同名的文件中被定义。 2.interface:定义接口关键字。 3.drawTest接口名称。 3.2.5 一个类实现接口时使用关键字【implements】. 语法 public class Parallelogram extends Quadrangle implements drawTest{ ....// } 3.2.6 接口中方法必须被定义为public或abstract。 2.3.7 接口中定义的任何字段都自动是【static】和【final】的。 2.3.8 一个类可以实现多个接口 class 类名 implemets 接口1,接口2,接口3....接口n{ //....... } 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()