• 学习笔记——Java核心技术之接口、继承与多态练习题


    1.创建一个抽象类,验证它是否可以实例化对象。

    package com.lzw;
    
    public abstract class UseCase3 {
        abstract void doit();
        public static void main(String args[]){
            new UseCase3();
        }
    }

    2.尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将它向上转型到基类并调用这个方法。

    package com.lzw;
    
    public class UseCase2 {
        public void doSomething(){
            System.out.println("父类.doSomething()");
        }
        public void doAnything(){
            System.out.println("父类.doAnything()");
        }
        public static void main(String args[]){
            UseCase2 u=new sub();
            u.doSomething();
            u.doAnything();
        }
    }
    class sub extends UseCase2{
        public void doAnything(){
            System.out.println("子类.doAnything()");
        }
    }

    3.尝试创建一个父类和子类,分别创建一个构造方法,然后向父类和子类添加成员变量和方法,并总结构造子类对象时的顺序。

    package com.lzw;
    
    public abstract class UseCase1 {
    	abstract void testAbstract();
    	UseCase1(){//(1)首先执行父类构造方法
    		System.out.println("before testAbstract()");
    		testAbstract();//如果调用了抽象方法,调用子类覆盖的方法。这里调用Atest类的testAbstract()方法
    		System.out.println("after testAbstarcat()");
    	}
    	public static void main(String args[]){
    		new Atest();
    	}
    }
    class Atest extends UseCase1{
    	private int i=1;//(2)使成员变量进行初始化
    	void testAbstract(){
    		System.out.println("testAbstract()"+i);
    	}
    	public Atest(){//(3)调用子类构造方法
    		System.out.println(i);
    	}
    }
    

      

      

  • 相关阅读:
    linux 查找命令(whatis,free,df,top)
    linux shell sed命令
    linux yum命令
    linux知识点 ROM,RAM,SRAM,DRAM,Flash
    二叉树遍历理解
    linux mv命令
    破窑赋
    关于fdisk l
    liunx知识点umask
    linux which命令
  • 原文地址:https://www.cnblogs.com/tangzhirong/p/4699738.html
Copyright © 2020-2023  润新知