zoukankan      html  css  js  c++  java
  • 学习笔记——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);
    	}
    }
    

      

      

  • 相关阅读:
    Leetcode--First Missing Positive
    Leetcode--LRU Cache
    java--遍历自定义数组
    爬网页?--Chrome帮你计算XPath
    log4j2配置
    winedt设置自动显示行号[latex]
    墓地雕塑-LA3708
    ctex moderncv版本更新--用latex写一个漂亮的简历
    用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚
    用gameMaker做个小游戏
  • 原文地址:https://www.cnblogs.com/tangzhirong/p/4699738.html
Copyright © 2011-2022 走看看