- 浏览: 502470 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
devon.k:
推荐的一种解决方案:https://developer.jbo ...
JBoss应用遇到问题记录 -
liuzl121:
楼主你好,我遇到了你说的第一个问题,能不能详细一些?
JBoss应用遇到问题记录 -
showzh:
...
MySQL5.1列类型 -
zijie110:
...
使用SpringSide的PropertyFilter无法实现 where 属性名1 like '%值1%' or 属性名1 like '%值2%' 的效果 -
JAVA-JVM:
您好,我看了您的一篇文章“用Maven构建Flex4项目实践记 ...
用Maven构建Flex4项目实践记录
[SCJP Sun Certified Programmer for Java 6 Study Guide (Exam 310-065)] chapter 2
一. 封装, IS-A, HAS-A
1. 通过封装可以隐藏接口(或API)的实现细节。
2. 封装代码的特点:实例变量是 protected 或 private 的,通过 getter, setter 方法提供访问。
3. IS-A:
1) 指的是继承或实现。
2) 表现形式为关键字 extends 。
3) 和 "inherits from," "is a subtype of " 是同等含义。
4. HAS-A 指的是一个类的实例中存在着对另一个类或本类的实例的引用。
二. 继承
1. 继承允许一个类成为另一个的子类,并继承父类的 public, protected 变量和方法。
2. 继承是 IS-A, 多态, overriding, overloading, casting 的关键概念。
3. 所有类(Object 除外)都是Object的子类,继承Object的方法。
三. 多态
1. 多态的意思是“多种形式”。
2. 1个引用变量总是1个单独的、不能被改变的类型,但它可以指向一个子类型对象。
3. 1个对象能被1个基类类型的多个不同子类类型的变量所引用。
4. 引用变量类型决定着所能调用的方法。
5. Polymorphic method invocations apply only to overridden instance methods.
四. Overriding and Overloading
1. 方法可以被 overridden 或 overloaded, 构造函数只能被overloaded 而不能被overridden。
2. 抽象方法必须被第1个非抽象子类所 overridden。
3. Overriding 方法:
1) 必须具有相同的参数列表、返回类型(从Java5开始,返回类型可以是子类类型)。
2) 不能用更高1级的访问控制符来修饰,但可以用低一些访问控制符来修饰。
3) 不能抛出新的或更广的 checked exceptions,但可以抛出任何unchecked exception 或 范围更小的checked exceptions。
4. final 方法不能被 overridden。
5. 只有能被继承的方法才能被 overridden,私有方法不能被继承。
6. 子类可以通过 super.overriddenMethodName() 在 overridden 方法中调用父类该方法。
7. Overloading 意思是相同的方法名称、不同的参数。
8. Overloaded 方法:
1) 必须具有不同的参数列表。
2) 可以改变返回类型(参数列表仍然需要是不同的)。
3) 可以具有不同的访问控制修饰符、异常。
9. 父类的方法可以被子类 overloaded。
10. 多态只应用于overriding,而不是overloading。
11. 对象类型决定着在运行时调用哪个overridden方法。
12. 引用类型决定着在编译时调用哪个overloaded方法。
五. 引用变量类型转换
1. 共有2种类型:向下转换、向上转换。
2. 向下转换:
1) 如果1个引用变量指向的是子类类型对象,则可以将该引用变量类型转变为该子类类型对象。
2) 类型转换时必须使用显式地转换,转换的结果是该引用变量可以访问该子类类型对象的成员。
3. 向上转换:
1) 可以显示地或隐式地转换引用变量类型为父类类型。
2) 它是安全的操作。
六 . 实现接口
1. 实现1个接口时表示遵从它的约定。
2. 通过正确和具体地overriding该接口所定义的所有方法来实现1个接口。
3. 1个类可以实现多个接口。
七 . 返回类型
1. Overloaded 方法可以改变返回类型,而 overridden 方法不能改变返回类型( covariant 类型除外)。
2. 返回类型可以用null作为返回值。
3. 1个数组是合法的返回类型。
4. 当返回类型是原子类型时,任何可以隐式地转化为该返回类型的值都是合法的。
5. 声明为void时,不能返回值,但可以使用 return; 但当有返回类型时则return后必须有值。
6. 可以返回声明类型的子类类型值。
7. 用接口类型作为返回类型时,必须返回接口的实现类型值。
八 . 构造函数和实例化
1. 1个构造函数当new1个对象时被调用。
2. 1个对象的继承树中的每个父类的构造函数都会被调用。
3. 每个类,甚至抽象类,都至少有1个构造函数。
4. 构造函数的名称必须和类名相同。
5. 构造函数不能有返回类型,如果有返回类型,则是方法而非构造函数。
6. 构造函数可以用任何的访问控制修饰符进行修饰。
7. 典型的构造函数执行:
1) 构造函数调用父类的构造函数,父类再调用父类的,直到Object的构造函数为止。
2) Object的构造函数执行并返回其调用者,调用者执行后再返回其调用者,直到实例被创建。
8. 如果没有在1个类中创建任何构造函数,则编译器会创建1个默认的构造函数。
9. 默认构造函数是无参的,并会调用无参的super()。
10. 每个构造函数的第1个状态必须是this()或super()。
11. 编译器会自动调用super(),除非已经调用了this()或super()。
12. 实例成员只有在构造函数运行后才能被访问。
13. 抽象类的构造函数在具体子类实例化时被调用。
14. 接口没有构造函数。
15. 如果父类没有无参构造函数,则必须创建1个构造函数并调用有参的super构造函数。
16. 构造函数不能被继承,所以不能被overridden。
17. 1个构造函数只能被另1个构造函数直接调用,其他情况下都不能直接调用构造函数。
18. 调用this()的一些问题:
1) May appear only as the first statement in a constructor.
2) 参数列表决定着overloaded的构造函数中哪个被调用。
3) 构造函数可以调用构造函数,但需要在某个点上调用super(),否则将引起stack explode。
4) 在1个构造函数里不能既调用this()又调用super(),只能是其一。
九 . 静态
1. 用静态方法来实现不依赖于实例的行为。
2. 用静态变量来保存和特定于类(而非特定于实例)的数据,静态变量只有1份copy。
3. 所有的静态成员都属于类,而不属于任何实例。
4. 1个静态方法不能直接访问1个实例变量。
5. 静态成员通过 类名.成员名 的方式进行访问(用 实例名.成员名 的方式也能访问,但这只是个语法小把戏)。
6. 静态方法不能被overridden,但可以被重新定义。
十 . 耦合和内聚
1. 耦合指的是1个类中所关联的其他类的程度。
2. 1个松耦合设计的系统,类的封装性较好,彼此之间的关联度降低,limit the breadth of API usage。
3. 内聚指的是1个类具有单一的、界限清楚的角色或职责的程度。
4. 1个高内聚的类的成员均具有单一的、界限清楚的角色或职责。
发表评论
-
JVM记要
2020-03-13 22:06 4JVM架构 图略(iteye已废) ... -
JUC(java.util.concurrent)要点笔记
2020-03-02 11:40 930iteye没落了,编辑格式太难整,表格位置有问题,图片 ... -
JMH记要
2020-01-16 11:46 5371.What's JMH?——OpenJDK提供的微基准测 ... -
Windows下多个jdk共存问题
2016-08-26 13:52 1100现象: 共安装有jdk1.6、1.7、1.8这3个版本, ... -
国际化
2015-01-06 16:50 876语言代码标准 国家代码标准 Java: pu ... -
LTW(Loading-Time Weaving)应用实践要点记录
2013-05-09 17:50 0http://static.springsource.org ... -
Java常用命令(工具)
2013-03-21 16:04 2074启动参数加上-XX:+HeapDumpOnOutOfMemor ... -
Java基础修炼
2012-12-13 19:00 1064Java标准与规范 Java ... -
Java并发编程持续学习
2012-07-04 17:31 1353一. 概念与基础 book: 《Java并发编程实践》 ... -
Openfire和Spark本地开发环境搭建记要
2012-05-16 22:41 111211. Openfire 参考:openfire搭建 ... -
Java基础恶补——Development
2012-02-18 19:26 1030[SCJP Sun Certified Programmer ... -
Java基础恶补——线程
2012-02-11 23:19 889[SCJP Sun Certified Programmer ... -
Java基础恶补——内部类
2012-02-04 19:35 1159[SCJP Sun Certified Programmer ... -
Java基础恶补——泛型和集合
2012-02-01 18:17 3138[SCJP Sun Certified Programmer ... -
Java基础恶补——Strings, I/O, Formatting, and Parsing
2012-01-29 15:51 1199[SCJP Sun Certified Programmer ... -
Java基础恶补——控制流、异常、断言
2011-11-30 19:02 2028[SCJP Sun Certified Programmer ... -
Java基础恶补——Operators
2011-11-24 16:00 1163[SCJP Sun Certified Programmer ... -
Java基础恶补——Assignments
2011-11-23 14:42 1106[SCJP Sun Certified Programmer ... -
Java基础恶补——声明及访问控制
2011-11-07 15:54 1142[SCJP Sun Certified Programmer ... -
Java基础恶补——关键字
2011-10-19 16:01 0Java关键字表(assert added in 1.4, e ...
相关推荐
JAVA_2 面向对象(OO)程序设计概念 JAVA_3 JAVA语言基础 位运算 JAVA_3 JAVA语言基础 JAVA_4 Java面向对象特性 JAVA_5 高级语言特征 JAVA_6 异常处理Exceptions JAVA_7 IO输入输出 JAVA_8 AWT图形界面编程 JFC AWT ...
JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_...
I:\Java课件\java_base2_oo.pptI:\Java课件\java_base2_oo.pptI:\Java课件\java_base2_oo.ppt
设计模式——可复用的OO软件
JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_...
在本课程“Java程序设计 2 - OO Programming(怀旧版)”中,我们将深入探讨面向对象编程(Object-Oriented Programming,OOP)的概念及其在Java语言中的应用。课程内容涵盖模型化概念,如抽象、封装和包,以及如何...
JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_...
JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_...
思想简单:面向对象的思想 = OO思想 面向过程:需要人站在计算机的角度去思考问题 面向对象:需要人拿着代码模拟实现生活 类:一组类型相同事物高度抽象之后的集合概念 创建对象的模板 -》 class 对象:类的一...
在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据重要地位。本资源包聚焦于“Java图书馆管理”和“Java面向对象思想”,这两个主题是Java编程中的核心概念。 首先,让我们深入理解...
兰新EIC管理模式——二OO四年经济运营原则及考核、标体系.doc
Java面向对象编程(Java Object-Oriented Programming,简称Java OO)是Java编程语言的核心特性,它基于类和对象的概念,提供了封装、继承、多态等关键功能,使得代码更加模块化和可重用。 1. **字节码**: Java源代码...
SAP ABAP开发学习——第10课:OOALV(视频教程) 1.SAP ABAP开发入门学习 2.含视频教程学习、PPT、作业 3.视频非常清晰
《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会...
北航第三次oo作业,在原来傻瓜电梯的基础上增加捎带功能
第一册:《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。 第二册:《HeadFirst设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计...
Java相关E:\JAVA\OO Project Instructor Guide(门诊模块).pdf E:\JAVA\OO Project Instructor Guide(门诊模块).pdf
数据和逻辑不是分离的,而是相互依存的。相关的数据和逻辑形成个体,这些个体叫做对象(Object),世界就是由一个个对象组成的。对象具有相对独立性,对外提供一定的服务。所谓世界的演进,是在某个“初始作用力”...
03 JAVA语言基础 位运算(共21页) 03 JAVA语言基础(共57页) 04 Java面向对象特性(共41页) 05 高级语言特征(共65页) 06 异常处理Exceptions(共31页) 07 IO输入输出(共30页) 08 AWT图形界面编程 JFC AWT ...
《大数据的Java基础》课程旨在为那些希望涉足大数据分析领域,特别是对Hadoop感兴趣的初学者提供必要的Java编程基础知识。Java语言自1995年诞生以来,已经从一个主要用于网页小应用的编程语言发展成为服务器端和...