类和类之间关系包括了 is a,has a, use a三种关系
(1)is a包括了 继承,实现关系
(2)has a包括了 组合,聚合,关联关系
(3)use a包括了 依赖关系
1.继承关系
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UM...
6年前 (2019-02-14) 1277℃
3喜欢
1. 切换java透视图
第一打开eclipse,默认是java ee工作透视图,需要切换为java透视图。在右上角open perspective按钮 –> Java –> OK。
2. 设置编码格式为UTF-8
Windows -> Preferences -> General -> Workspace –> Text f...
6年前 (2019-01-23) 1156℃
0喜欢
子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法;但父类的方法不能访问子类的实例变量,因为父类根本无从知道它将被哪个子类继承,它的子类将会增加怎样的成员变量。 但是,在极端的情况下,可能出现父类访问子类变量的情况。请看下面的示例程序。
class Base
{
//定义一个名为i的实例变量
private int i = 2;...
6年前 (2018-11-02) 1493℃
0喜欢
当创建任何 Java 对象时,程序总会先依次调用每个父类非静态初始化块、父类构造器(总是从 Object 开始,因为Java 程序里所有类的最终父类都是 java.lang.Object 类)执行初始化,最后才调用本类的非静态初始化块、构造器执行初始化。
当调用某个类的构造器来创建Java 对象时,系统总会先调用父类的非静态初始化块进行初始化。这个调用是隐式执行的,而且父类的静态初始化块总是会被执...
6年前 (2018-11-02) 1719℃
0喜欢
类变量属于Java类本身,只有当程序初始化该Java 类时才会为该类的类变量分配内存空间,并执行初始化。 从程序运行的角度来看,每 JVM对一个 Java 类只初始化一次,因此 Java 程序每运行一次,系统只为类变量分配一次内存空间,执行一次初始化。 从语法角度来看,程序可以在2个地方对类变量执行初始化:
定义类变量时指定初始值;
静态初始化块中对类变量指定初始值。
这两种方式的执行顺序与它...
6年前 (2018-11-02) 1710℃
0喜欢
对于实例变量而言,它属于Java 对象本身,每次程序创建Java 对象时都需要为实例变量分配内存空间,并执行初始化。从程序运行的角度来看,每次创建Java 对象都会为实例变量分配内存空间,并对实例变量执行初始化。从语法角度来看,程序可以在3个地方对实例变量执行初始化:
定义实例变量时指定初始值;
非静态初始化块中对实例变量指定初始值;
构造器中对实例变量指定初始值。
其中第1、2种方式(定义时...
6年前 (2018-11-02) 1390℃
0喜欢
使用static 修饰的成员变量是类变量,属于该类本身;没有使用static 修饰的成员变量是实例变量,属于该类的实例。在同一个 JVM内,每个类只对应一个Class对象,但每个类可以创建多个Java对象。
由于同一个JVM内每个类只对应一个Class对象,因此同一个JVM内的一个类的类变量只需一块内存空间;但对于实例变量而言,该类每创建一次实例,就需要为实例变量分配一块内存空间。也就是说,程序中...
6年前 (2018-11-01) 1242℃
0喜欢
Java程序的变量大体可分为成员变量和局部变量。
1.局部变量
局部变量的作用时间很短暂,它们都被存储在方法的栈内存中。局部变量可分为如下3类:
形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。
方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化。这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。
代码块内的局部变量:在代码块内定...
6年前 (2018-11-01) 1804℃
0喜欢
当数组引用变量指向一个有效的数组对象之后,程序就可通过该数组引用变量来访问数组对象。Java 语言不允许直接访问堆内存中的数据,因此无法直接访问堆内存中的数组对象,程序将通过数组引用变量来访问数组。Java 语言避免直接访问堆内存中的数据可以保证程序更加健壮,如果程序直接访问并修改堆内存中数据,可能破坏内存中的数据完整性,从而导致程序Crash。
只要在已有数据类型之后增加方括号,就会产生一个新的...
6年前 (2018-11-01) 1544℃
0喜欢
引用类型数组的数组元素依然是引用类型的,因此数组元素里存储的还是引用,它指向另一块内存,这块内存里存储了该引用变量所引用的对象(包括数组和Java 对象)。
为了说明引用类型数组的运行过程,下面程序先定义一个 Person 类,然后定义了一个Person[]数组,并动态初始化了该 Person[]数组,再显式为数组的不同数组元素指定值。该程序代码如下。
public class Person
...
6年前 (2018-11-01) 1604℃
0喜欢