java基本知识归集

类中可以有几种东西:属性,方法,构造器,初始化块

new创建对象时,
1.类属性和类初始化块分配空间。
2.执行默认初始化
如有父类,先为父类执行父类自己的1和2步骤,再执行上面的1和2。
一个类执行new多个对象,类属性和类初始化块只初始化一次。


private:属性和方法只能在该类内访问
default:同一个包的其他类可以访问
protected:同一个包的其他类可以访问;不同包的子类也可以访问
public:都行


子类继承父类,除private外,其他都有。

子类改变继承过来的方法时,叫重写。
重写后父类的这个方法便被隐藏了。
如果要调用这个隐藏的方法:
1.子类强制转换为父类
2.通过super


构造器中的this表示当前正在初始化的对象引用。
方法中的this表示当前正在调用此方法的对象引用。


super()和this()不可以同时出现在构造函数中,并且一定要写在第一行。


final类 不能被继承
final方法 不能被重写,但如果父类的final方法为private,子类中的final这个方法,就相当于一个新的方法。
final变量(包括包括类属性、对象属性、局部变量和形参) 需要进行显示初始化,并且之后不能修改。

native方法  不是java语言实现的,而是操作系统提供的动态库。

equals  表示对象内容(特征和属性)相同,不能作用于基本数据类型
==      变量值相同 两个new出来的对象,有不同的hash,所以用这个就会false,但equals是ture


wait             当前线程等待,直到其他线程调用此方法的主调的notify或notifyAll,可指定超时时间
notify/notifyAll 唤醒此对象监视器上等待的单个或全部线程。
wait/notify/notifyAll  方法只能在同步代码(synchronized)块中才能使用


String是不可变字符串对象,s="abcd";s="fde";后"abcd"和"fde"会一直在堆内存里。
StringBuffer线程安全
StringBuilder非线程安全

intern  查找常量池中的对象引用,如果没有,则创建


Strong reference  任何引用=null时,回收内存
Soft Reference    引用1=null,引用2!=null,不回收内存
Weak Reference    引用1=null,弱引用2可能不是null


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值