- 博客(21)
- 收藏
- 关注
原创 抽象
我们在编写类时,通常会在类中定义一些方法,用来描述该类所具有的行为。在类的方法体中,我们编写代码实现该类所要执行的行为。在继承关系中,子类继承父类后,子类也就具有父类所具备的行为。如果子类继承了父类的行为,但是与父类的行为实现方式不同,就需要通过方法重写来覆盖父类的行为。所谓抽象类,是不能被实例化的类。在抽象类中,类的所有其它功能都存在,成员变量、方法、构造器都可以用同样的方式访问。我们只是不能...
2019-06-18 08:59:14 172
原创 多态的主要应用
在Java中,多态的主要应用体现在两个方面:多态参数和异构集合。下面我们分别以示例详细说明。1)多态参数所谓多态参数,就是当方法的某个形式参数是一个引用的时候,与该引用兼容的任何对象都可以传递给方法,从而允许方法接受不同数据类型的形式参数。异构集合多态最常见的应用是创建一个不是同一类型,但是有共同父类的数据集合。不同对象的集合称为异构集合。多态总结从以上示例,我们可以看出:父类类型的引...
2019-06-18 08:56:18 2691
原创 多态的技术基础
使用动态绑定和重写机制来实现多态,我们首先需要掌握如下三个基础技术概念:向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子对象可以被当作一个父类类型。instanceof关键字:instanceof关键字用于判断运行时对象的真正类型。动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而实现多态性。向上转型和向下转型在第二章《Java语法基...
2019-06-18 08:54:57 575
原创 多态
多态继承、封装、多态、抽象是面向对象编程的四大基本特征。封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提条件下,改变类的内部结构,同时保护了数据。继承是为了重用父类代码,同时为多态做准备。那么,什么是多态呢?多态是指一个对象有多种形式的能力。一个类的子类可以定义它们唯一的行为,同时共享父类的某些相同特征。多态有两种理解方式:第一种是对象的不同的方法可以用相同的一个方法名,也就是重载的概念...
2019-06-18 08:51:53 132
原创 总结
访问静态成员变量和方法静态成员变量和方法不能使用引用来访问,因为引用是指类的实例,而我们不需要类的实例来访问静态成员。访问静态成员要使用类名。实例初始化块实例初始化块与静态初始化块类似,它在类的对象每次实例化时执行一次。实例初始化块和构造器二者之间的不同之处在于实例初始化块在构造器调用之前执行。实例初始化块的语法形式很简单,只需要在类中用大括号括起代码块即可。注意,实例初始化块不使用任何关...
2019-06-14 09:21:09 107
原创 类的高级概念
访问修饰符类的每一个成员(包括成员变量、方法和构造器)都有一个访问修饰符,用来判断谁可以访问该成员。访问修饰符允许我们在设计程序的时候,就考虑到谁可以访问一个对象的不同属性和行为。例如,假如我们给类添加一个方法,用于执行重复的任务,并且该方法只能被本类中的其它方法调用。那么,我们就可以将该方法声明为私有的,从而对本类以外的任何类隐藏该方法。同样,我们也可能需要将一个方法对所有其它对象都可用。...
2019-06-14 09:18:37 131
原创 final
final类有时候,我们希望一个类成为最终类,不能被其它类继承,也就是不能有子类。在这种情况下,我们就需要在声明类时,在关键字class前加上关键字final,让该类成为一个最终类。例如:public final class Hourly extends Employee{//类定义…}final方法当子类重写父类的一个方法时,父类中被重写的方法实质上被隐藏了。在子类中,要调用父类中的...
2019-06-12 09:08:13 160
原创 super
super关键字在前面,我们演示了子类如何通过方法重写,完全改变继承自父类的方法。有时,子类想要给继承的方法添加行为,但是并不是完全替换父类的方法。在这种情况下,可以使用关键字super来调用父类中重写的方法。我们已经知道,每个对象都有一个对自身的引用,称为this引用。当在一个类中,引用类本身的成员变量或方法时,可以显式地使用this引用。类似地,一个类可以使用关键字super,来显式地引用...
2019-06-12 09:05:37 141
原创 继承
继承的起源在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(Inheritance)。已有的类称为父类,而新类称为子类。父类也可以称为基类、超类,子类也可以称为派生类。这些术语可以互换,但是意思是相同的。用"is a"关系判断继承“is a”关系是一个简单而强大的规则,用于判断父类和子类的继承关系是否正确。当使用继承时,我们必须能够说子...
2019-06-12 09:04:34 110
原创 方法重写
7方法重写子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。这称为方法重写,是OOP的特征之一。当子类重写父类的方法时,必须遵循如下的规则:子类的方法的返回值的类型、方法名和形式参数列表,必须和父类中的是相同的。如果子类中的方法与父类中的方法同名,但是子类的方法改变了形式参数列表,那么这是方法重载,而不是方法重写。不要混淆这两个概念,二者的用法是完全不同的。访问修...
2019-06-10 21:32:16 1269
原创 继承
继承的起源在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(Inheritance)。已有的类称为父类,而新类称为子类。父类也可以称为基类、超类,子类也可以称为派生类。这些术语可以互换,但是意思是相同的。继承可以说是面向对象编程最重要的特征之一。使用"is a"关系判断继承“is a”关系是一个简单而强大的规则,用于判断父类和子类的继...
2019-06-10 21:31:17 84
原创 DOC
java文档工具javaDocJava语言一个独特且特别有用的功能就是javadoc工具,使用该工具,可以获取Java源代码中的注释,并生成HTML页面。这就鼓励开发者在代码中添加注释,因为产生的HTML网页可以让同事和其他需要了解一个类的人所用,并且不需要看实际的源代码。@author:表示源代码的作者名称。@depracated:表示随着程序版本的提升,当前类成员已经过期,仅为了保证...
2019-06-10 21:25:24 340
原创 数组
访问数组数组中的元素通过用对该数组的一个引用、一个用于描述我们要访问数组哪一个元素的整型索引值来访问。数组的第一个元素的索引为0,第二元素的索引为1,依此类推。例如: int [] sums = new int[20];sums[0] = 1;sums[1] = 2;sums[19] = 191;为了给20个元素赋值,就需要20条语句。显然,用for循环赋值更方便。例如:sums[0...
2019-06-10 21:23:15 98
原创 总结
调用方法一个方法被调用时,该方法就被放在调用栈的顶部,直到方法执行完成。当一个方法正在执行时,会发生三种情况:方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。方法不返回一个值。在这种情况下,返回值被声明为void。方法签名形式参数和实际参数一个方法的签名包括一个形式参数(Parameter)的列表,形式参数列表用于声明传递到方法中的数据的类型。传递给形...
2019-06-05 21:53:10 100
原创 类
4.6使用包来组织类在项目开发中,我们通常会编写数目众多的类。如果不对这些类进行分门别类的使用和存放,就像我们不使用文件夹去管理众多的文件一样,在使用时会很困难和不方便,也很容易出现类的命名冲突问题。Java通过引入包(package)的机制,以解决这两个问题。在Java中,每个类属于一个包。包有两个基本的用途:提供了一个组织类的机制;为包中的类提供了一个命名空间。在开发Java程序...
2019-06-05 18:39:59 168
原创 this
this引用每个对象可以使用this关键字引用它本身。如果一个类的方法需要访问该类本身的成员变量或其它方法,就应该使用this引用。例如,在Employee类中,我们已经看到computePay()方法按照如下方法访问salary成员变量:public double computePay() {return salary/52;}要访问一个对象的成员变量或方法就必须有一个对该对象的引用...
2019-06-05 18:39:11 149
原创 对象
在Java中,new关键字用于实例化一个对象。new运算符在内存中创建一个对象,并返回对新创建的对象的一个引用。只要我们的程序保留对该对象的一个引用,那么这个对象将一直保留在内存中。下面的语句声明了一个Employee引用,并使用new关键字将该引用赋值给一个新的Employee对象:Employee e;e = new Employee();引用e指向内存中的Employee对象。运算符...
2019-06-05 18:37:53 139
原创 类,
类:向类中添加成员变量对象的属性成为相关类中的成员变量。类中的一个成员变量由如下部分组成:访问修饰符。可以是public、private或protected;如果省略了访问修饰符,将使用默认访问修饰符。数据类型。成员变量名称。成员变量名称必须是一个有效的标识符,后面用分号结束。关于访问修饰符,我们将在后面章节中详细讨论。在这里,我们都用public访问修饰符。必须记住的是,如果我...
2019-06-05 18:36:58 108
原创 循环
while循环while循环是一种允许重复执行某项任务的控制结构,其语法形式为:while(布尔表达式) {//语句}do/while循环do/while循环与while类似,不同的是do/while循环至少要执行一次。其语法形式为:do {//语句}while(布尔表达式);for循环for循环是一种允许我们编写一个执行指定次数循环的控制结构,其语法形式如下:for(初始...
2019-06-05 09:29:19 129
原创 5月27号学习总结
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-05-27 19:57:36 240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人