java简答题

1.面向对象:
    (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,
         强调具备功能的对象;
    (2)思想特点:
         A:是符合人们思考习惯的一种思想;
         B:将复杂的事情简单化了;
         C:将程序员从执行者变成了指挥者;

         比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,
         至于怎么洗我不管。
    (3)特征:
        封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式
        继承: 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义
              这些属性和行为,只要继承那个类即可。
        多态: 一个对象在程序不同运行时刻代表的多种状态,父类或者接口的引用指向子类对象

2.数组:
    概念:同一种数据类型的集合。    
    好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

3.接口interface
    (1)当一个类中的方法都是抽象的时候,java提供了另一种表示方式,叫接口。
       用interface关键字表示。类与接口关系用implements表示。
    (2)接口的成员特点
        A:成员变量
            是常量,默认修饰 public static final    
        B:成员方法
            都是抽象的,默认修饰 public abstract    
    (3)关系
        A:类与类的关系
            是继承关系。类与类只能单继承,可以多重继承。
        B:类和接口的关系
            是实现关系。类可以多实现接口。
            类在继承一个类的同时,可以实现多个接口。
        C:接口和接口的关系
            是继承关系。接口可以多继承接口。
    (4)接口的特点
        A:是对外暴露的规则
        B:是功能的扩展
        C:接口的出现降低耦合性。
            耦合(类与类之间的关系)
            内聚(类完成功能的能力)
            编程规范:低耦合,高内聚。
        D:接口可以多实现。如:CPU和主板、笔记本的USB插口、插座
    (5)接口和抽象类的区别
        A:抽象类只能被单继承
           接口可以多实现,接口的出现避免了多继承的局限性。
        B:抽象类中的数据特点:
                成员变量:可以是变量,也可以是常量
                成员方法:可以是抽象方法,也可以是非抽象方法
                构造方法:有构造方法
           接口中的数据特点:
                成员变量:是常量。默认修饰 public static final
                成员方法:都是抽象方法。都有默认修饰 public abstract
                构造方法:没有构造方法
        C:抽象类中定义的是继承体系中的共性功能。
           接口中定义的是继承体系中的扩展功能。
        D:抽象类被继承是"is a"关系:xx是yy的一种
           接口被实现是"like a"关系:xx像yy的一种

4.多态:
    (1)同一个对象,在程序不同时刻的多种运行状态。举例:动物,狗是狗,狗是动物。水(气态,液态,固态)
    (2)多态前提
        A:存在着继承或者实现关系
        B:有方法的重写
        C:父类(接口)引用指向子类(实现)对象
    (3)多态的好处和弊端:
        好处:多态的存在提高了程序的扩展性和后期可维护性
        弊端:虽然可以预先使用,但是只能访问父类中已有的功能,运行的是后期子类的功能内容。
              不能预先使用子类中定义的特有功能。
    (4)多态中对象调用成员的特点
        Fu f = new Zi();
        
        A:成员变量
            编译看左边,运行看左边
        B:成员方法 
            编译看左边,运行看右边
        C:静态方法
            编译看左边,运行看左边
    (5)多态的思想
        指挥同一批对象做事情。举例:带兵打仗,下课等。

你可能感兴趣的:(java基础,知识点)