抽象、封装、继承
来源:互联网 发布: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修饰,也可以被本类的子类中的构造方法调用!
重载和重写的区别联系
重载:重载涉及同一个类的同名方法,要求方法名相同,参数列表不同,与返回值类型,访问修饰符无关
重写:子类和父类之间的同名方法,要求方法名相同参数列表相同返回值类型相同,访问修饰符不能严与父类
位置 方法名 参数表 返回值 访问修饰符
重写: 子类 相同 相同 相同或字类 不能比父类严格
重载: 同类 相同 不相同 无关 无关
- 抽象、封装、继承、多态
- 封装 继承 多态 抽象
- 继承,封装,多态,抽象
- 抽象、封装、继承
- 抽象、封装、继承
- 封装、多态、抽象、继承、接口
- JAVA的抽象、封装、继承、多态
- 面试-封装继承多态抽象
- 抽象类 接口区别 多态性 继承 封装
- 抽象 多态 继承 封装 接口 单例
- 继承、多态、封装、抽象类与接口
- 面向对象(重载、封装、继承、抽象)
- 对封装、继承、多态、抽象的理解
- 封装 ,继承, 多态,抽象类 ,接口
- java基础 继承、封装、多态、抽象详解
- Javaoop——抽象和封装/继承
- java编程规范,抽象,继承,封装
- 对封装、继承、多态、抽象的理解
- 【Java】の基础——HashMap
- 集合框架
- HBase学习之Region
- Android Things物联网开发--外围I/O接口之GPIO(三)
- Java中的堆和栈的区别
- 抽象、封装、继承
- 快速手动安装Opentack
- 聊一聊面向对象之继承
- 2670 时间计算
- 如何检查后台服务(Android的Service类)是否正在运行?
- 红与黑
- 紫书章四习题一 xiangqi uva 1589(模拟)
- java设计模式之备忘录模式
- 增量迭代模型,瀑布模型,螺旋模型,快速原型模型