补发五

内部类
在一个类的类之内再定义一个类。
可以分为:
成员内部类:可以方便访问外部类的私有属性。
局部内部类:在方法中定义的内部类称为局部内部类。不能用public或private访问修饰符。
静态内部类:使用static关键字。无法访问外部类的实例变量。
匿名内部类:只需要使用一次的类。用于接口实现方法。不能有构造方法。不能有静态。只能创建一次。new后加一个匿名类。
单例模式
单例模式实现方式:构造方法私有
用一个私有静态变量引用时实例
提供一个公有的静态方法获取实例。
抽象类和接口
抽象类:是对一批看上去不同,但是本质上相同的具体概念的抽象。abstract修饰
语法:[访问符] abstract class 类名{
[访问符] abstract<返回类型>方法名([参数列表])
}
抽象类一定有子类继承制作方法的声明不做具体方法。规则如下:
abstract放在class前,方法的返回类型前,
无法使用new关键字直接创建抽象类实例。
可包含成员变量及构造方法。
不能是私有的,静态的,final接口
只定一些规范,只规定这批类必须提供的某些方法而不提供任何实现。
Java允许一个类实现多个接口。
语法:[ 访问符] intereface接口名{第一个字母大写}[extends父接口一 父接口二…]{
接口体
}
语法说明: 访问符可以是public或缺省。
一个接口可以继承多个父接口, 但接口只能继承接口, 不继承那在接口体里可以包含静态常量, 抽象方法, 内部类,内部接口以及枚举的定义。
实现接口
语法:[ 访问符] class 类名 implements{用于实现接口}接口一[接口二…]{
类体。
}
语法说明: implements关键字用于实现接口。
一个类可以实现多个接口, 接口之间用逗号进行间隔。
一个类实现在一个或多个接口时,这个类必须完全实现
一个源文件中可以有多个接口和类
接口与抽象类有很多的相似之处
接口和抽象类都不可实例化,都需要被其他类实例化继承。
接口和抽象类的类型变量都可以指向其他实现类子类的实例对象
练习: public class Bank{
private String cardId;
private double money;
public Bank(){
}
public Bank(String cardId, double money){
this. cardId= cardId;
this. Money= money;
}
Public void setMoney(double money){
this.money=this.money+money;
System.out.println(“存入”+money+”元后存为”,this.money);
}
Public void getMoney(){
this.money=this.money-money;
System.out.println(“取出”+money+”元后余为”,this.money);
}
Public String toString(){
Return “账号”+cardId+”余额”+this.money;
}
}
内部类
Public class Wai{
Private int b=10;
Public void test Wai(){
System.out.println(“b”);
Nei nei=new Nei();
Nei.testNei();
}
Class Nei{
Private int a;
Public void testNei(){
TestWai();
System.out.println(b);

}
}
}
Static class Nei{
Private int a;
Public void testNei();
testWai();
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值