抽象、封装、继承

来源:互联网 发布:windows 注册表修复 编辑:程序博客网 时间:2024/05/16 12:13

                          抽象、封装、继承

1.类和对象是面向对象的两个核心概念。

类是对一些事物的描述,是抽象的,概念的,对象是实际存在的个体,具体的,现实的

2.this:指对当前对象的引用,调用当前对象的属性和方法(解决成员变量的冲突,*只能在构造方法中使用,必须是第一条语句)

  super:代表调用直接父类对象

      super必须出现在子类中【子类的方法和构造方法】

      可以访问父类属性,方法,构造方法

      无法访问private成员

      封装:将类的成员属性声明为私有的,同时提供共有的方法实现对该成员的存取操作

封装:1.修改属性的可见性---设为private

      2.创建公有的getting和setting方法---用于属性的读写

      3.在getting和setting加入控制语句-属性--进行对属性值的判断

好处:隐藏类的实现细节,使用规定的方法来访问数据,加入控制语句,方便修改和实现

构造方法的作用是:创建对象是执行一些初始化操作

方法的重载:如果同一个类中包含两个或两个以上的方法,方法名相同,参数列表不同

方法的重载判断依据:

1.必须在同一个类里

2.方法名相同

3.参数列表不同

4.与方法的返回值类型和修饰符没有任何关系

static可以用来修饰属性(类属性)方法(类方法)代码块---不用修饰的成为实例属性和实例方法

在类加载的过程中,完成静态变量的内存分配,在执行静态块,两者是在创建对象之前执行的

类属性和类方法可以通过类名和对象名访问,实例属性实例方法只能通过对象名访问

*类变量不能是局部变量

*静态方法不能使用this,super关键字

继承:实现代码的重用,java中只支持单继承,

继承条件下的构造方法的调用:

1、如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。

2、如果子类的构造方法中通过super显式调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。

3、如果子类的构造方法中通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则。

特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止。

抽象类的特点:

抽象类不能实例化。可以没有,有一个或者多个抽象方法

抽象类只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类!

抽象方法必须在子类中被实现,除非子类是抽象类!

抽象类中可以有构造方法:其构造方法可以被本类的其他构造方法调用,若此构造方法不是由private修饰,也可以被本类的子类中的构造方法调用!

重载和重写的区别联系

重载:重载涉及同一个类的同名方法,要求方法名相同,参数列表不同,与返回值类型,访问修饰符无关

重写:子类和父类之间的同名方法,要求方法名相同参数列表相同返回值类型相同,访问修饰符不能严与父类

      位置    方法名        参数表      返回值           访问修饰符

重写:     子类    相同       相同         相同或字类   不能比父类严格

重载:   同类    相同       不相同      无关         无关                                                                                                                                                              

1 0
原创粉丝点击