`
izuoyan
  • 浏览: 8938164 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java学习备忘录(五)高级语言特性篇(原创)

阅读更多

一.关键字static

静态(static)变量又叫类变量,即可以在类的所有实例中共享的变量。可以从类的任

何实例访问static变量,且static变量不是private时,它可以从类的外部访问,若从类的外部访问static变量,则不需要类实例,可直接通过类名指向它。
静态方法,又叫类方法,可以在没有类实例的情况下调用类中方法,可以使用类名来指向,而不是通过实例来指向。静态方法只能访问其自身参数和静态变量,不能访问非静态变量。非静态变量只存活于实例中,只能通过实例引用来访问。静态方法不能重写成非静态。
当类被装载时,静态代码块只执行一次,不同代码块按它们在类中的顺序来执行。
总结:

1) static方法和数据是因为类和该类的所有实例而存在,可以通过一个类实例或类本身来访问。

2) 非静态数据仅限于实例,只能通过该实例的非静态方法来访问。非静态数据定义实例对象之间互不相同的特点,非静态方法在其作用范围内根据非静态数据对每个对象实例产生的行为是互不相同的。

二.关键字final
final
类是不能在分成子类的类。

Final方法是不能再重写的方法。如果方法具有不能被改变的实现,且对于对象的一般状态是关键的,则必须声明该方法为final。被声明为privatestatic的方法被自动的声明为final,因为动态联编在上述两种情况下都不能应用。
变量被声明为final,结果是变量变成常量。

三.抽象类
声明方法的存在而不是实现,以及带有对已知行为的方法的实现,这样的类通常叫做抽象类。用abstract声明一个抽象类。

不能创建一个抽象类的实例,但可创建一个变量,其类型是一个抽象类,并使其指向具体子类的一个实例。程序中也不能有抽象构造函数或抽象静态方法。

抽象类的子类为其父类中的抽象方法提供实现,否则也是一个抽象类。

四.接口
接口的作用:

1)声明方法,期望一个类或更多的类来实现该方法。

2)揭示一个对象的编程接口,而不是揭示类的实际程序体。(当将类的一个包输送到其他开发程序中时非常有用)。

3)捕获无关类之间的相似性,而不强迫类关系。
4
)描述“似函数”对象,它可以作为参数被传递到在其他对象上调用的方法中。他是“函数指针”(cc++语法)的一个安全的替代方法。
接口中所有方法都是抽象的,且只能定义“static final”成员变量。
优点是,当类定义只能扩展出单个类时,他能实现所需的多个接口。

例子:

interface SayHello

{

void printMessage();

}

class SayHelloImpl implement SayHello

{

void printMessage()

{

System.out.println(“Hello”);

}

}
一个类可以实现多个接口,在类声明的末尾以逗号依次排列。

五.访问控制

1.变量和方法有四个修饰符,类只能用publicdefault修饰。

2.访问性标准

修饰符 同类 同包 子类 通用性

public

protected

default

private

六.“==”和equals()方法

Object类的equals()方法和“==”一样都是等值比较,对于比较的两个引用指向同一个对象时才返回true.

String. Data .File类以及包装类都重写了equals()方法。

七.内部类

即嵌套类,允许一个类的定义被放到另一个类的定义中。优点是允许将逻辑上同属性的类组合到一起,并在一个类中控制另一个类的可视性。

(内部类是个难点,我还暂且没搞明白)

八.包装类
Java
中为了提高效率,不把简单数据类型看作对象,故有了包装类:

九.集合是一个对象组,单个对象是他的元素。集合处理许多对象类型。

十.矢量类(Vector)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

分享到:
评论

相关推荐

    java开发备忘录

    java开发备忘录

    日历备忘录Java源码

    JAVA程序日历源码,层次清晰,编写规范

    微信小程序源码 备忘录(学习版)

    微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习...

    备忘录模式代码示例

    备忘录模式的示例代码和文档,学习备忘录模式的参考资料。

    swing javadb 备忘录 记事本 临时记事

    一个自己写的备忘录程序,可以用标题和内容的形式记录一些信息,可以按照标题、记录日期、信息类型查询,导出excel数据。另外提供到期提示和闹钟功能。使用javadb嵌入式数据库,swing外观。提供Eclipse工程源代码和...

    Java日历及备忘录

    Java写的一个类似windows自带的日历程序,他除了可以浏览日期外,还可以在特定的时间点写备忘录,当到达该时间点时会有弹窗提示。

    用JAVA编写的备忘录

    用JAVA编写的备忘录, 可以记录下你每天做的事情,可以查看你以前做的事情,很有帮助

    java实现备忘时钟

    用java实现备忘时钟,适合初学者,用java实现备忘时钟,适合初学者,

    备忘录JAVA代码

    实现备忘录基本功能,可以显示年月日日历,点击任意一日期可以写备忘录,写完保存后在点这个日期则跳出窗口说该日期有备忘录

    java备忘录

    当初学习JAVA时候,敲得一个黑窗口JAVA备忘录,用的HASHMAP对数据进行增删改查。

    备忘录日程管理java代码

    基于java的备忘录软件开发,还有日程管理的功能

    微信小程序 备忘录 (源码)

    微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...

    小程序源码 备忘录 (代码+截图)

    小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...

    Java设计模式-备忘录

    Java设计模式,备忘录模式的Demo,具体的思想与实现有很多讲得很好的老师,我是看厉风行老师的视频学的,讲得不错,简单易懂

    java+Mysql开发的备忘录系统

    备忘录软件的主要功能包括添加备忘录、修改备忘录、查询备忘录、删除备忘录等。此外,还能够打开Windows系统中记事本、计算器等小工具。

    java课设--个人备忘录管理系统

    java课程设计--用java写的个人备忘录管理系统

    微信小程序 小工具类 备忘录 (源代码+截图)

    微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源...

    Java反射备忘录

    NULL 博文链接:https://lgsun592.iteye.com/blog/977825

    java设计模式-备忘录模式源代码

    java设计模式-备忘录模式源代码, 源码中为设计模式的工程源文件,已经测试过,没有问题。

    毕业设计基于JavaWeb实现的一个备忘录系统项目源码.zip

    毕业设计基于JavaWeb实现的一个备忘录系统项目源码。难度适中,新手自己可操作 备忘录 介绍 后端部分基于Servlet、Jdbc实现. 前端部分基于Layui、jqury实现。 一个简单的前后端分离Demo,前后端交互JSON数据格式 ...

Global site tag (gtag.js) - Google Analytics