-
静态内部类
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
查看全部 -
成员内部类:
3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
1、外部类是不能直接使用内部类的成员和方法滴
2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
查看全部 -
注意:
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
我们来看一段代码:
运行结果:
通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
查看全部 -
查看全部
-
注意:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:
查看全部 -
查看全部
-
静态变量:
例如,我们在类中定义了一个 静态变量 hobby ,操作代码如下所示:
要注意哦:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!~~
查看全部 -
3、UML建模工具
Visio、Rational Rose、PowerDesign
查看全部 -
类图(The Class Diagram)
UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。
查看全部 -
序列图(The Sequence Diagram)
序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互。
查看全部 -
2. 常用UML图
用例图(The Use Case Diagaram)
用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息。
简单来说就是,描述系统中出现的角色,及其需要的功能。
查看全部 -
UML概念
Unified Modeling Language(UML)
又称同意建模语言或标准语言。
是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。
查看全部 -
使用接口:
接口在使用过程中,还经常与黎明内部类配合使用。
匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称。
语法格式:
Interface i = new Interface(){ public void method(){ System.out.println("匿名内部类实现接口的方式"); } }
如图中的两种用法,都是使用匿名内部类的方式实现接口,
查看全部 -
4. 使用接口
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现国歌接口可以做补充。
继承父类实现接口的语法为:
[修饰符] class 类名 extends 父类 implements 接口1,接口2... { 类体部分//如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象发放。 }
如果要继承父类,继承父类必须在实现接口之前。
查看全部 -
3. 接口定义
常量:
接口中的属性是常量,即使定义时不添加public static final 修饰符,系统也会自动加上。
方法:
接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract修饰符,系统也会自动加上。
查看全部
举报