修饰符
外部类/接口
成员属性
方法
构造器
初始化块
成员内部类
局部成员
public
√
√
√
√
√
protected
√
√
√
√
包访问控制符
√
√
√
√
〇
√
〇
private
√
√
√
√
abstract
√
√
√
final
√
√
√
√
√
static
√
√
√
√
strictf...
6年前 (2019-03-25) 1543℃
0喜欢
首先思考如下代码:
//抽象类
abstract class Person{
public abstract void say();
}
public class Test {
public static void main(String[] args) {
//局部变量
int age = 10;
//匿名内部类
new Person() {
@...
6年前 (2019-03-22) 1485℃
0喜欢
生活中在饭店吃饭,张三点了的“鱼香肉丝”,然后服务员将订单交给后厨的川菜师傅做;李四点了“木须肉”,然后服务员将订单交给后厨的鲁菜师傅做;王五点了“白切鸡”,然后服务员将订单交给后厨的粤菜师傅做……如果用java程序来模拟这个点餐过程就用到了所谓的“命令模式”。其定义是这样的:某个方法需要完成某一个行为(所有菜都要厨师做),但这个行为的具体实现无法确定(不同菜系对应不同厨师),必须等到执行该方法时...
6年前 (2019-03-21) 1254℃
0喜欢
假如让你设计带有打印功能的电脑,最快的办法就是在电脑类里实例化一个打印机类对象(将某品牌打印集成到电脑内部)。但是这样做有个问题,假如过一段时间打印机坏了或者要更换成更好的打印机,就需要修改电脑类里实例化打印机对象代码(拆开电脑重新集成),这是很不合理的。所以现实世界中打印机和电脑之间都是通过接口连接的,制造打印机的工厂只要按照打印机接口生产就行。如果用java程序来描述计算机类、打印机类、接口、...
6年前 (2019-03-21) 1294℃
0喜欢
一、简介
不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如Interger、Long和String等。可变类相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。
二、优点
线程安全:不可变对象是线程安全的,在线程之间可以相互共享,不需要利用特殊机制来保证同步问题。
易于构造和使用。
三、设计方法
类添加final:只要继承类覆盖父类的方法并且...
6年前 (2019-03-20) 1367℃
1喜欢
概述
大家都知道,在windows系统里只能打开一个“任务管理器”。同理,在程序开发中,需要某些类只能创建一个对象,因为随意创建这些类的对象没有任何意义,甚至造成系统性能下降(因为频繁地创建对象、回收对象带来的系统开销问题)。这时用到了一种常用的软件设计模式“单例模式”,通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。通常单例模式在Java语言中,有两种构建方式:
懒汉方式。指全局的...
6年前 (2019-03-20) 1345℃
0喜欢
Java 虚拟机JVM将运行时内存区域划分为五个部分:方法区、堆、PC 寄存器、Java 方法栈和本地方法栈。
堆区(heap):
提供所有类实例和数组对象存储区域
jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区(stack):
每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
每个栈中的数...
6年前 (2019-03-11) 1591℃
0喜欢
类和类之间关系包括了 is a,has a, use a三种关系
(1)is a包括了 继承,实现关系
(2)has a包括了 组合,聚合,关联关系
(3)use a包括了 依赖关系
1.继承关系
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UM...
7年前 (2019-02-14) 1352℃
3喜欢
1. 切换java透视图
第一打开eclipse,默认是java ee工作透视图,需要切换为java透视图。在右上角open perspective按钮 –> Java –> OK。
2. 设置编码格式为UTF-8
Windows -> Preferences -> General -> Workspace –> Text f...
7年前 (2019-01-23) 1230℃
0喜欢
子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法;但父类的方法不能访问子类的实例变量,因为父类根本无从知道它将被哪个子类继承,它的子类将会增加怎样的成员变量。 但是,在极端的情况下,可能出现父类访问子类变量的情况。请看下面的示例程序。
class Base
{
//定义一个名为i的实例变量
private int i = 2;...
7年前 (2018-11-02) 1582℃
0喜欢