• JAVA学习IO(1)


    面向过程和面向对象的区别:
    面向过程:把问题分析成一个一个步骤组成的过程
    面向对象:从一个问题中分析出各个功能对象,并描述各个功能在整个解决问题的步骤的行为.
    面向对象的3大特征:
    封装,继承,多态
    封装:把多个异构的属性包裹在一个专门的类里面常用于异构数据的传递。
    java中设置的访问权限:

    继承:指的是两个类之间的关系,为父子关系,被继承者为父类,继承者为子类,一个子类继承一个父类,则继承了父类的属性和方法。
    继承的特点:
    1,一个子类只能继承一个父类,一个父类可被多个子类继承.
    2,子类继承父类所有属性和方法
    3,子类可以对父类的方法进行重写和覆盖.
    子类的对象可以赋值给父类的数据类型,则只能调用父类的属性和方法。但此时若子类重写了父类的属性或方法,则调用子类对父类重写的属性和方法.

    关键字:extends. 例如A(子) entends B(父)
    什么时候用继承:
    当多个类里面有共同的方法/属性的时候,我们可以把公共代码抽取到一个公共的父类中,达到代码公用的作用。
    子类与父类的构造函数有什么关系?
    当我们new 一个对象的时候,JVM会自动调用这个类对应的构造函数,构造函数可以写多个,可以接受参数,因此我们可以有多种方式去创建一个对象。如果不写,系统会默认提供一个无参的构造,如果写了,就不提供了。
    如果一个子类继承了一个父类,在创建这个子类的对象之前,他的父类对象必定会先创建。
    *默认情况下,会先直接调用父类的无参构造,然后再调用子类对应的构造函数,因此,如果这时父类中只有有参的构造函数是不行的
    *子类也可以在自己的构造函数中通过super(参数)显式调用对应的父类构造(有参/无参)

    thissuper 两个关键字有何作用?
    this:指的是当前本类对象;super,指的是当前父类对象
    this(参数):调用本类的构造函数;super(参数):调用父类的构造函数

    什么是接口?如何实现一个接口?
    接口是一个特殊的“类”,一个接口里面的方法只有定义,没有实现。
    一个类可以实现一个接口,这个类就称为这个接口的实现类。
    接口及其实现类有什么特点?
    1、接口中的方法不能有实现
    2、接口不能new
    3、一个类实现一个接口,必须实现该接口的所有方法,同时这个类也能定义自己的方法
    4、一个类可以同时实现多个接口,一个接口也能同时被多个类实现.(实现类关键字: implements)
    5、一个实现类的对象可以赋值给其接口的数据类型,但这样只能调用接口中定义的属性和方法(同继承)
    什么时候使用接口?
    接口,就是用于定义一个纯粹的模型或者规范,让开发者去实现这个规范。
    接口可以支持多继承吗?为什么?
    可以,原因跟一个类可以同时实现多个接口一样,因为接口中的方法都只是定义。

    什么是多态?多态有哪些表现形式?
    多态,就是多种状态,主要表现在方法重写(或者接口方法实现)上。
    面向对象的多态性,无疑增加了系统的扩展性.
    与方法重写这一概念相似的是方法重载,方法重载,其实就是多个方法,同名不同参数(有一些说法认为这也是多态的表现之一,但更多的认为不是)
    什么是抽象类?
    抽象类,就是普通类与接口之间一个过渡的特殊类,里面允许定义没有实现(抽象方法),同时允许有实现的普通方法.
    关键字:abstract

    抽象类有什么特点:
    1、一个抽象类里面允许有抽象方法,也允许有非抽象类,只要在定义类的时候加上abstract关键字,那么这个类就是抽象类(即不一定要有抽象方法,只是没有抽象方法的抽象类没有意义 )
    接口其实就是一个严格的抽象类,里面不允许有非抽象方法,因此接口中的方法定义可以把abstract省缺。
    2、与接口一样抽闲类不能new.
    3、子类继承了抽象父类,可以不实现父类的抽象方法,但是自己也必须定义为抽象类

    什么时候使用抽象类?
    接口是严格的抽象类,用于定义一个纯粹的模型或者规范,让开发者去实现这个规范。假如,我们在定义一个模型或者规范的同时,需要提供一部分公共的实现,则可以继承一个抽象类并实现其中的抽象方法。

  • 相关阅读:
    re正则表达式公式讲解3
    re正则表达式2
    re正则表达式公式讲解1
    洛谷 P2962 [USACO09NOV]灯Lights
    9.26模拟赛
    BZOJ 1567: [JSOI2008]Blue Mary的战役地图

    洛谷 P2919 [USACO08NOV]守护农场Guarding the Farm
    洛谷P3252 [JLOI2012]树
    P3183 [HAOI2016]食物链
  • 原文地址:https://www.cnblogs.com/huangliting/p/5748111.html
Copyright © 2020-2023  润新知