java学习 笔记

jdk7.0  判断表达式可以是string形      :string s=new string("xxx")  switch(s) {
          case "xxx":break;
         }
带标签break和cont;nue         在前面添加标签outer : /    / continue outer: / break outer: 和goto类似 但是goto关键字无实际功能。

this  super 隐式参数 在非静态方法调用时自动传入调用它的对象的索引,super自动传入父类的索引。
this()调用其他构造方法。且位于方法的第一句。
extends 继承java采用单继承,C++可多继承 复杂形加

构造器内部自动调用父类构造器
一个对象的新建,依次调用父类构造器,创建一个Object对象,再一级级加入子类的属性和方法,最后返回地址给新的声明变量
继承实现代码重复利用 is-a关系(是关系),组合(即在内部将父类定义一个对象作为属性) 同样重复利用代码has-a关系(及拥有关系)
final 变量-->常量   修饰方法-->不能重写(子类重写父类方法),可以重载    修饰类--> 无法被继承

private 同一个类
default 同一个类 同一个包
protect 同一个类 同一个包 子类
public  全部
属性 一般私有提(public)set()/get()  常量和static 可以公开

静态代码块    static  {
}
多态 在继承的基础上  子类类型变得复杂,重写方法很多无法确定  在调用方法是 子类的的地址传给父类 调用子类的重写方法
Cat extends Animal   void vioce(Animal a)     即将子类引用给父类 
  父类只有父类方法  可以强制转换子类  再调用子类的方法
c instanceof  Cat 判读c是Cat的子类
重写方法调用的this都是最后的子类的地址  及首先调子类的重写方法  在向父类寻找  寻找到就执行  没找到报错
当子类都需要重写父类方法是  父类方法可以是抽象方法 且方法是抽象类(也可加普通方法) 子类(如果是抽象子类也不需要)必须实现父类所有抽象方法(规范,模板)
抽象类无法定义 使用  只能作为一个类型 其中的方法子类使用 设计与实现分开4
抽象类 中能够实现非类方法  接口(interface) 完全抽象 只有抽象方法(public和abstract)和常量(默认public static final)  implement
一个类可以实现多个接口(不同对象共同点很少) 接口也可以继承接口

hook 多态应用
接口回掉 模板方法模式
内部类        私有的一些类如 电脑的CPU  别的不用CPU   内部类可以调用外部类属性  外部类不能使用内部类成员属性   外部类.this.属性
内部类  成员内部类  隐藏内部类
方法里也可以定义类
静态类可以用定义静态方法 普通内部类不能


StringBuilder  线程不安全  效率高 StringBuffer 线程安全  效率不高
StringBuffer  synchronized
异常处理  抛出 ->JRE   JRE-捕获异常
checked(被编译器检查过的)  uncheckI(常见 jre自动捕获)
try catch finaly finaly的return 语句最后覆盖
子类 抛出的异常不能是父类的异常的父类或上层类
 手动抛出  thow new FileNotFoundExcption("File not found");

static {         静态语句
}
import static
栈 
存放局部变量
不可以多线程共享
空间连续

存放对象
可以多线程共享
空间不连续
方法区
存放类的信息,代码,静态变量,字符
可以多线程共享
空间不连续
垃圾回收
finallize  object类
System,gc();


import   static  引入静态变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值