李兴华—Java开发实战经典
Java语言特点:一次编写,到处运行
面向对象:封装性、继承性、多态性
可变参数
public void fun(int...arg){ for(int i = 0; i < arg.length; i++){ System.out.print(arg[i]+"、"); } }
foreach
for(int i : a) //for(数据类型 变量名称 : 数组名称){...} System.out.println(i);
类中全部属性必须封装,封装后要通过get,set方法进行访问;调用方法时最好采用this.方法名称();的形式
字符串:(“==”比较的是地址)(equals比较内容)
Java中为String对象提供一个共享池,新实例化的对象如果已经在池中定义,则不再重复定义
字符串内容不可改变,我们看到改变实际上是通过内存地址的断开—连接变化完成的(写程序尽量避免断开—连接次数)
匿名对象:就是没有明确给出名字的对象,一般只使用一次,只在堆内存中开辟空间,不存在栈内存的引用
一个字符串就是一个String类的匿名对象
static声明的属性(可以通过类名直接访问)是所有对象共享的
非static声明的方法可以调用static声明的属性或方法
static是不能调用任何非static内容的
Java中常用的内存区域:
栈内存:所有对象名称(引用堆内存空间的地址)
堆内存:每个对象的具体属性内容
全局数据区:static
全局代码区:所有方法定义
如果要限制类对象的产生,可以将构造方法私有化(单例设计)https://blog.csdn.net/jakezhang1990/article/details/61922371
Java只允许多层继承,不可以多重继承
被子类覆写的方法不能拥有比父类方法更严格的访问权限
FINAL关键字:
- fina声明的类不能有子类
- final声明的方法不能被子类覆写
- final声明的变量(字母全部大写)为常量,不可修改
接口:全局常量+抽象方法;可以继承多个接口
在Java中可以通过多态性为抽象类和接口实例化,这样再使用抽象类和接口时即可调用本子类所覆写的方法
在Java中所有类都有一个公共的父类Object类,主要方法有:
- public Object() 构造方法
- public boolean equals(Object obj) 对象比较
- public int hanshCode() 取得哈希码
- public String toString() 对象打印时调用
Java设计模式:????????????????????????????????
- 工厂类
- 代理类
- 适配器
匿名内部类:https://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html

Java运行时至少启动两个线程:主线程+垃圾回收线程
线程优先级:MIN_PRIORITY, MAX_PRIORITY, NORM_PRIORITY



浙公网安备 33010602011771号