zoukankan      html  css  js  c++  java
  • 抽象

    抽象类的产生
       a:分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽    取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。
    7 抽象类的定义格式 
        A:抽象方法定义的格式:
            public abstract 返回值类型 方法名(参数);
            抽象类定义的格式:
            abstract class 类名 {
    
            }
    
    8 抽象类的使用方式
             package lijun.cn.chouxiang;
    
        public abstract class Develop {
            /*
             * public abstract 返回值类型 方法名(参数);
                抽象类定义的格式:
                abstract class 类名 {
    
                }
                
                //1 定义一个开发工程师类
                 *   EE开发工程师:工作
                 *   Ar 开发工程师:工作
                 *   形成一个父类  Develop   
                 *   abstract类不能new ---》不能实例化
                 *   具体干什么说不清
                 *   
             * */
            public abstract void work();
            public void wo(){
                System.out.println("普通方法");
            }
        }
         需要new其子类  
    9 抽象类特点
    
        a:抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。
        b:抽象类不可以直接创建对象,原因:调用抽象方法没有意义。
        c:只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
        之所以继承抽象类,更多的是在思想,是面对对象共性类型操作会更简单。
    10 抽象关键字abstract不可以和哪些关键字共存?    
        1:private:私有的方法子类是无法继承到的,也不存在覆盖,
            而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,
            而private修饰子类根本无法得到父类这个方法。互相矛盾。 
    
    
    /*
    * 抽象类,可以没有抽象方法,可以定义带有方法体的方法
    * 让子类继承后,可以直接使用
    eg:

    package cn.chouxiang.demo3;

    
    

    public abstract class Develop {
    public abstract void work();
    public void wo(){
    System.out.println("普通方法");
    }

    
    

    }

    package cn.chouxiang.demo3;

    public class Ar extends Develop{


    public void work() {
    System.out.println("Ar程序开发师开发手机");

    }

    }

    package cn.chouxiang.demo3;

    public class EE extends Develop {


    public void work() {
    System.out.println("javaEE开发拼多多");

    }

    }

    
    

    package cn.chouxiang.demo3;

    
    

    public class Text {

    
    

    public static void main(String[] args) {
    Ar a=new Ar();
    EE e=new EE();
    a.work();
    e.work();
    e.wo();

    
    

    }

    
    

    }

     
  • 相关阅读:
    Elasticsearch、Logstash和Kibana Windows环境搭建(一)
    20200820--1维数组 年龄与疾病(奥赛一本通P78 5)
    20200820--1维数组 数组逆序重放(奥赛一本通P77 4)
    20200820--一维数组:与指定数字相同的数的个数(奥赛一本通P75 1)
    20200819--金币 奥赛一本通P73 10 已讲
    20200818-数1的个数(奥赛一本通 P69 5)
    bits/stdc++.h
    数1的个数(奥赛一本通 P69 5)
    函数和方法的讲解
    20200817-与7无关的数(奥赛一本通 P68 4)
  • 原文地址:https://www.cnblogs.com/qurui1998/p/10537706.html
Copyright © 2011-2022 走看看