zoukankan      html  css  js  c++  java
  • 10、java中的抽象类

    当多个类中出现相同功能,但是功能主体不同,
    这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。

    抽象:看不懂。

    抽象类的特点:
    1,抽象方法一定在抽象类中。
    2,抽象方法和抽象类都必须被abstract关键字修饰。
    3,抽象类不可以用new创建对象。因为调用抽象方法没意义。
    4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
    如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。


    抽象类和一般类没有太大的不同。
    该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
    这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。
    通过抽象方法来表示。

    抽象类比一般类多个了抽象函数。就是在类中可以定义抽象方法。
    抽象类不可以实例化。


    特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

    /*
    假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:
    姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个
    奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方
    法进行属性访问。
    
    员工类:name id pay
    
    经理类:继承了员工,并有自己特有的bonus。
    
    
    */
    
    class Employee
    {
    	private String name;
    	private String id;
    	private double pay;
    
    	Employee(String name,String id,double pay)
    	{
    		this.name = name;
    		this.id = id;
    		this.pay = pay;
    	}
    	
    	public abstract void work();
    
    }
    
    
    
    class Manager extends Employee
    {
    	private int bonus;
    	Manager(String name,String id,double pay,int bonus)
    	{
    		super(name,id,pay);
    		this.bonus = bonus;
    	}
    	public void work()
    	{
    		System.out.println("manager work");
    	}
    }
    
    class Pro extends Employee
    {
    	Pro(String name,String id,double pay)
    	{
    		super(name,id,pay);
    	}
    	public void work()
    	{
    		System.out.println("pro work");
    	}
    }
    
    
    class  
    {
    	public static void main(String[] args) 
    	{
    		System.out.println("Hello World!");
    	}
    }
    

      

  • 相关阅读:
    Android&Java面试题大全—金九银十面试必备
    android招聘啦,美图秀秀欢迎你加入!
    android经典源码,很不错的开源框架
    MongoDB、Hbase、Redis等NoSQL优劣势、应用场景
    体验go语言的风骚式编程
    金九银十中,看看这31道Android面试题
    android高级页面效果集锦
    flask中的request
    flask笔记(三)Flask 添加登陆验证装饰器报错,及解析
    flask笔记(二)
  • 原文地址:https://www.cnblogs.com/DamonBlog/p/4991707.html
Copyright © 2011-2022 走看看