代码块 和内部类

代码块:
普通代码块:新建在方法中的代码叫做普通代码块
构造快:直接在类中的代码 构造快优先于构造方法执行前提是有实例化对象
静态代码块:又static声明的代码块,静态代码块优先于主方法执行 不管实例化多少个对象,静态代码块只执行一次。功能是为静态属性初始化。
public class CodeDemo4{
static{
System.out.println(“Hello Word!!!”);
System.out.println(1);//退出程序
}
}
上述程序基本上没有开发意义

单态模式:就是将类中的构造方法私有化,在通过在构造方法私有化的类中实例化,通过将静态方法返回实例化对象来使用。

内部类:如果在一个类比如Out的内部再定义一个类Int,那么Int就叫做内部类,内部类可以声明成public 或者private 等对其访问权限就类似于之前学的成员变量或者成员方法。
class Outer{ // 定义外部类
private String info = "hello world" ; // 定义外部类的私有属性
class Inner{ // 定义内部类
public void print(){ // 定义内部类的方法
System.out.println(info) ; // 直接访问外部类的私有属性
}
};
public void fun(){ // 定义外部类的方法
new Inner().print() ; // 通过内部类的实例化对象调用方法
}
};
public class InnerClassDemo01{
public static void main(String args[]){
new Outer().fun() ; // 调用外部类的fun()方法
}
};

以上程序中Inner{作为内部类存在,并且在在外部类中Outer中的fun()中直接实例化,调用print()的方法
使用内部类的方法优点:节约代码,降低难度,方便的使用外部类的属性,否则拿出来的话还要定义构造方法等来传参数。
缺点是无法在外部直接调用,更无法像外部类的形式使用
若想使用的话,必须用static声明,访问属性时 属性必须被static修饰
外部类.内部类 内部类对象= 外部类 new 内部类();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值