Java关键字

Final关键字

final修饰的类不可以被继承,但是可以继承其他类
final修饰的方法,子类可以继承,但是不能重写
final修饰的局部变量,只能赋值一次,且不能改变
Final修饰引用变量:
固定对象内存地址,地址值不变,但是地址内的属性可以改变
final修饰成员变量:
成员变量在堆内存中,有默认值
final修饰成员变量,固定的不是默认值
只能手动赋值,或者构造方法赋值(不建议),不能有set方法

Static关键字

1、作为对象共享内容
对象的特有数据(非静态修饰)调用者只能是new 对象
对象的共享数据(静态修饰)调用者可以说new对象,可以是类名 
2、注意:在静态中不能调用非静态
原因:生命周期,先有静态,创建对象后,才有非静态。静态内容是优先于对象存在的,只能访问静态,不能使用this/super,静态修饰的内容存在于静态区
3、常用情况:
事物之间是否有共性,将共性定义成静态
方法是否设置成静态:看方法里的成员变量
public static int Sum(int a,int b,int c){		
return a+b+c
}  
最好加静态,因为没有用到非静态变量
静态内容什么时候消失:这个类的静态内容在这个类被释放的时候同时释放。
Class什么时候释放:在sun 的JDK中所有的class都有它的ClassLoader,当这个ClassLoader被释放时,所有被它装度载的class也同时被释放。

匿名对象

在创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量,只能使用一次
常用:方法参数,方法返回值
new  类名().方法()
内部类
可以直接访问外部类的成员变量,包括私有
外部类使用内部类成员,必须建立内部类对象
1、成员内部类:将一个类定义在另一个类中
可以使用成员修饰符,可以继承实现接口,内部类编译完也是class文件
外部类名.内部类名 变量 = new 外部类名().new 内部类名()
2、局部内部类:将一个类定义在另一个类的方法中
先创建对象,再调用局部内部类
3、匿名内部类:继承一个类、实现一个接口
实现接口,重写接口抽象方法,创建实现类对象
定义实现类,重写方法,创建实例对象一步完成
格式:
new 接口或者父类(){
重写抽象方法
}.方法名();
权限修饰符
	public	protected	default	private
同一类中	√	√	√	√
同一包中(子类与无关类)	√	√	√	
不同包中的子类	√	√		
不同包中的无关类	√			

注:protected在不同包中,只能在子类中使用,子类对象不能调用

代码块

构造代码块:{}
new一次,就执行一次,优先于构造方法
静态代码块:static{}
只执行一次

字符串

Person p =new Person();
System.out.println(p)  等于  System.out.println(p.toString())  

String str = ”hello world”
str是引用变量,”hello world”是字符串对象,一旦申明不可改变。改变的是引用变量指向的内存空间
字符串是常量,本质是一个字符数组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值