J2SE基础:5.面向对象的特性2

Final的使用

final在类之前

表示该类是终于类。表示该类不能再被继承。

final在方法之前

表示该方法是终于方法,该方法不能被不论什么派生的子类覆盖。

final在变量之前

表示变量的值在初始化之后就不能再改变;相当于定义了一个常量。

对象的上溯(上转型)和对象的下溯

上转型对象的特点:

A a = new B();

实例化是B,仅仅只是是A去接收而已。

所以仅仅能看到A中定义的属性与方法。

A:不能操作子类新增的成员变量和方法;

B:能够操作子类继承的变量,也可操作子类继承或重写的方法;

假设子类重写了父类的某个方法后,当对象的上转型对象调用这种方法时一定是调用了这个子类重写的方法。

使用上转型对象的优缺点:

缺点:不能操作子类新增的成员变量和方法

长处:

A:上转型对象是实现对象多态的前提条件。

B:以牺牲少部分的功能来换代替码设计的最大幅度的优化。

类型的下溯:

假设此时上转型对象想要操作子类新增的方法和属性。能够进行

对象类型的下溯。

下溯成功后,就能够看到自已新增的属性与方法。

类型的上/下溯的注意点:

操作的对象都是针对子类进行上/下的转换。

操作的上/下转型对象之间必需要有继承关系。

重载

当有參数精确匹配时,调用的是精确匹配的方法。

假设没有,寻找參数相应的父类类型。(Object,String,StringBuffer)

重写/上转型对象:一旦用上转型对象的话,方法被子类重写,肯定调用的是

子类重写的方法。

多态

1:什么是多态:

多态就是指父类的某个方法被子类重写时,

能够各自产生自己的功能行为。

2:多态的条件

A:要有继承关系

B:子类必须对父类的方法进行重写

C:父类的引用要指向子类(对象的上转型)。

3:多态的中的父类的引用要指向子类造成了多态的后期绑定。

前期绑定与后期绑定:

前期绑定:编译期间就已经确定其类型。

后期绑定:在执行期间才确定对象类型。

时间: 2024-08-24 01:52:05

J2SE基础:5.面向对象的特性2的相关文章

J2SE基础:4.面向对象的特性

面向对象的特性 封装 继承多态 封装: 定义: 通过对象的封装,实现了模块化和信息隐藏. 通过对类的成员施以一定的访问权限,实现了类中成员 的信息隐藏 注意点: 对象自已该做的一些事情与方法不能交与其它类去实现. 将内部的实现隐藏化.别人不用去关心内部怎么实现. 只要调用方法就可以得想结果. 继承: 继承的特性: A:通过继承可以实现代码的复用.子类可以继承父类中的变量及方法. 前提:父类访问修饰符的控制对继承的影响: 父类私有的属性与方法不能被子类继承. Default:同一包中可以访问. B

J2SE基础:5.面向对象的特性3

1:抽象方法: 当父类的某个方法都会被子类重写时,那么父类的方法就没有 实现的必要.但必须要声明. 所以这个方法就可以定义抽象方法(只有声明,没有实现). 2:抽象类: 由于抽象方法是不完整的方法,因而抽象方法所属的类也是一个不 完整的类,所以类必须定义成抽象类. 抽象类中可以包含抽象方法和非抽象方法. 3:当一个子类继承抽象类时 子类就必须重写抽象类中的所有的抽象方法. 如果子类不想实现,那么必须将自已也定义一个抽象类. 4:抽象类不能被实例化,只能实例化子类. Animal animal =

[.net 面向对象编程基础] (11) 面向对象三大特性——封装

[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承.多态. 1.封装概念 封装:每个对象都包含有它能进行操作的所有信息,这个特性称为封装.这样的方法包含在类中,通过类的实例来实现. 2.封装的优点 A.良好的封装能够减少耦合(比如实现界面和逻辑分离) B.可以让类对外接口不变,内部可以实现自由的修改 C.类具有清晰的对外接口,使用者只需调用,无需关心

Java基础知识面向对象三大特性

面向对象三大特性:一 封装:概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式.好处:将变化隔离;便于使用;提高重用性;安全性.封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问.二 继承好处:1:提高了代码的复用性.2:让类与类之间产生了关系,提供了另一个特征多态的前提.注意:子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过supe

JAVA基础——面向对象三大特性:封装、继承、多态

JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据.     隐藏类的实例细节,方便修改和实现. 3.封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作.当然最好使用get/set方法,比较标准. A.访问修饰符 从表格可以看出从上到下封装性越来越差. B.this关键字 1.this关键字代表当前

JavaScript基础--面向对象三大特性(八):继承封装多态

一.构造函数基本用法:function 类名(参数列表){属性=参数值} 1 function Person(name,age){ 2 this.name = name; 3 this.age = age; 4 } 5 6 //创建Person对象的时候,可以直接给名字和年龄 7 var p1 = new Person('abc',80); 8 window.alert(p1.name); 9 var p2 = new Person('hello',9); 10 window.alert(p2.

Java基础1:深入理解Java面向对象三大特性

Java基础1:深入理解Java面向对象三大特性 三大特性:继承 封装 多态 继承 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类. 子类拥有父类非private的属性和方法. 子类可以拥有自己属性和方法,即子类可以对父类进行扩展. 子类可以用自己的方式实现父类的方法 Java中的继承只能单继承,但是可以通过内部类继承其他类来实现多继承. public class Son extends Father{publi

J2SE基础:1.类和对象基础

什么是对象 在Java语言,所有的人,事物或者模块都是一个对象. 相同的对象具有一些相同的特性. 狗,猫,蛇3个对象(动物的对象) 苹果,梨,桔子3个对象(水果的对象) 什么是类 可以将现实生活中的对象经过抽象 这种抽象数据类型称为类. 动物类(Animal) 水果类(Fruit) 类和对象的关系 类是对象的模板(抽象化表示),对象是类的实例化(具体化的展现) 类的组成结构 Java是纯面向对象(除了8种基本数据类型) 而对象是从类产生的.因此类是组成Java程序最基本也是最核心的 元素. 变量

Java面试题(1)-J2SE基础

最近在为自己实习准备,看了网上各种面试经验贴,也和身边的小伙伴一起参加了不少牛逼IT企业的面试,这篇文章就将面试遇到的一些比较常见的问题整理一下,给大家一些参考,也为自己整理整理. J2SE基础 1.九种基本数据类型的大小,以及他们的封装类. Java的九种基本数据类型: byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间. short:16位,最大数据存储量是65536,数据范围是-32768~32767之间. int:32位,最大数据存储容量是2的32次方减1,数据