一、接口
1.接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现. (P204)
2.接口中的方法自动属于public,因为声明时可以不使用关键字public. 但是在实现接口时,必 须把方法声明为public,否则,编译器将视为类的默认访问属性(包可见性)(P205)
3.接口可以定义常量[color=red][b](自动设置为public static final)[/b][/color],但是绝不能含有实例域,也不能实现方法。-----可以将接口视为没有实例域的抽象类。
4.类与子类不符合“反对称”的规则时(如调用equals等方法),有两种解决方法:
(1).进行类的检查,如果类不一样,直接抛异常.
例6-1 [code="java"]if(getClass()!=other.getClass()) throw new ClassCastException();[/code]
(2).如果存在通用的算法,对不同的子类都适合,则在超类中提供该方法,并声明为final.
5.标记接口
例如,Cloneable就是标记接口(tagging interface,或者marker interface)。标记接口没有方法,因为其目的不是为了实现某个方法,惟一的目的是可以用instanceof进行类型检查。
二、内部类
1.只有内部类可以是私有类,常规类只可以具有包可见性,或公有可见性。
2.内部类可以访问外围的私有数据;
3. 局部内部类:
(1). 定义在方法中的内部类。对外完全隐藏,方法之外的外围类也不知道。
(2). 只可以引用定义为final的局部变量 。
4. final变量可用于局部变量、实例变量和静态变量。意义都是:在创建这个变量后,只能够赋值一次。不过,在定义final变量的时候,不必进行初始化。 (P228)
可以将声明一个长度为1的数据变量,这样,它不能引用另一个数组,但是数据中的数据可以变。
5. 匿名内部类
(1)只需创建一个对象;
(2)类比较短;
(3)没有构造器。
6.静态内部类 (P231)
(1). 不需要访问外围类;
(2). 只有内部类可以是static
(3). 声明在接口中的内部类自动成为static和public。
三、代理
1.代理可以在运行时创建一个实现了一组给定接口的新类。
2.无论何时调用代理对象的方法,调用处理器的invoke方法都会被调用,并向其传递Method对象和原始的调用参数。调用处理器必须给出处理调用的方法。
Object invoke(Object proxy, Method method, Object[] args)
相关推荐
### Java核心技术精炼知识点 #### 一、Java平台概述与分类 Java技术主要分为三个标准: 1. **Java SE(Standard Edition)**:标准版,适用于桌面应用软件。 2. **Java EE(Enterprise Edition)**:企业版,针对...
#### 第六章:面向对象(高级) - **继承的进一步研究** - 继承的优势:提高代码复用性。 - 继承的限制:避免过度使用。 - **范例:继承的应用** - 示例分析:动物类与狗类之间的继承关系。 - 实现多态性的方法...
第六章涵盖了面向对象编程的高级特性,包括继承、接口、多态以及抽象类。继承允许一个类继承另一个类的属性和方法,接口则定义了一组方法规范,多态让不同类的对象能够响应相同的消息,而抽象类和接口则用于定义抽象...
#### 第六章:常见类的使用 **一、Object类** Object类是所有Java类的基类,包含一些基本方法如`equals()`、`toString()`、`hashCode()`等。 **二、String类** String类表示字符串,它是不可变的。提供了多种...
#### 第八章:Java Applet基础 - Java Applet是一种在Web页面中嵌入的Java小程序。 #### 第九章:文本框和文本区 - **9.1 文本框** 用于输入单行文本。 - **9.2 文本框上的ActionEvent事件** 当用户按下...
本套“Java课堂笔记”旨在为学习者提供一个从入门到精通的全面学习路径,通过简洁明了的方式,让学习者在短时间内掌握Java的核心概念和技术。 一、Java基础 Java的基础包括语法特性、数据类型、变量、运算符和控制...
Java学习笔记:全面掌握Java编程的核心知识与技能 在当今的软件开发领域,Java作为一种流行的、功能强大的面向对象编程语言,被广泛应用于各种场景,包括Web应用、移动应用、企业级应用等。本篇Java学习笔记旨在为...
### 第六章:常用类API - **字符串处理**:`String`类和`StringBuilder`类。 - **日期时间操作**:`Date`类、`Calendar`类以及`java.time`包中的类。 ### 第七章:集合框架(容器) - **集合接口**:`Collection`、...
### Java实战经典学习笔记知识点概览 #### 一、Java概述及开发环境搭建 - **Java概述** - Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。 - Java的设计目标是“一次编写,到处运行”,这...
Java 实训笔记主要涵盖Java语言的基础知识,包括JDK的安装、环境变量配置以及核心编程概念。以下是对这些知识点的详细说明: 1. **JDK安装与环境变量配置**: - JDK(Java Development Kit)是Java开发所需的核心...
### Java基础知识笔记详细版-菜鸟翻阅必备 #### 一、Java概述 1. **Java语言发展史**: - Java由Sun Microsystems公司于1995年推出。 - 最初由James Gosling领导的设计团队开发,目标是用于家用电器的编程。 - ...
### Java核心知识精讲 #### 一、Java简介 Java是一种广泛使用的高级编程语言...以上就是从“李兴华java笔记”中提取的核心知识点,涵盖了Java的基础语法、面向对象编程的基本概念和技术点。希望对学习Java有所帮助。
以上是Java第一阶段(Java SE)学习中的核心知识点,熟练掌握这些内容是成为一名合格的Java程序员的基础。使用Eclipse或IntelliJ IDEA作为集成开发环境,可以帮助我们更高效地编写和调试代码。在学习过程中,实践是...
#### 第六章:常用类API - **常用类概述**:这部分涵盖了Java标准库中广泛使用的类,如String、Integer等。了解这些类的使用对于高效编程至关重要。 #### 第七章:集合框架(容器)+其他类对象使用 - **集合框架*...
4. 类与对象:Java是面向对象的语言,类是对象的模板,对象是类的实例。 5. 封装:隐藏对象的属性和实现细节,提供公共接口来与外界交互。 6. 继承:一个类可以继承另一个类的特性,实现代码复用。 7. 多态:同一种...
- 封装是面向对象编程的核心特性之一,通过隐藏对象的实现细节,仅暴露必要的接口给外部使用。 **7.2 继承** - **7.2.1 Java继承特点** - 单继承:Java不支持多继承,即一个类只能继承自一个父类。 - 多层继承:...
#### 第六章:常用类API - **字符串类:** `String`和`StringBuilder`用于处理字符串。 - **包装类:** 如`Integer`、`Double`等,提供基本数据类型对应的对象封装。 - **日期时间类:** 如`Date`、`Calendar`等,...