标签:arrays 调用 com 不能 new 功能 外部类 api 方法
外部类.this.*
访问外部类同名成员。外部类.内部类 name=new 外部类().内部类()
实例化对象。public class InnerClass1 {
public int a;
protected double b;
char c;
private String d;
InnerClass1(int a){
this.a=a;
}
class inner{
int a;
inner(int a){
this.a=a;
}
private void A(){
System.out.println(a);
System.out.println(this.a);
System.out.println(InnerClass1.this.a);
}
public void B(){
System.out.println(b);
}
}
public static void main(String[] args) {
InnerClass1.inner inner=new InnerClass1(10).new inner(5);
inner.A();
inner.B();
}
}
/**
* 局部内部类
*/
public class InnerClass2 {
final static int a=5;
public static void main(String[] args) {
class inner{
int sum(int n){
int ans=0;
for(int i=1;i<=n;i++){
ans+=i;
}
return ans+a;
}
}
System.out.println(new inner().sum(5));
System.out.println(new inner().sum(15));
}
}
外部类.内部类 name=new 外部类.内部类()
实例化对象,不需要创建外部类实例。/**
* 静态内部类
*/
public class InnerClass3 {
int a=5;
static int b=10;
static class inner3{
int a=15;
static int b=20;
void A(){
System.out.println(a);
// System.out.println(InnerClass3.a);
}
static void B(){
System.out.println(b);
System.out.println(InnerClass3.b);
}
}
public static void main(String[] args) {
InnerClass3.inner3 inner3=new InnerClass3.inner3();
inner3.A();
InnerClass3.inner3.B();
}
}
接口 name=new 接口(){[重写接口所有函数]}
。public class CallBackUser{
public static void main(String[] args) {
int b=5;
// b=5;
CallBackSystem callBackServer=new CallBackSystem();
callBackServer.onBtnClick("CallBack", new CallBack() {
@Override
public void fun(String name) {
System.out.println("Hello "+name+" "+b);
}
});
}
}
考虑一个问题,如何让系统调用你写的一个方法? 比如点击某个按钮就执行你写的方法。
在Java中实现一个简单的回调功能需要以下几步:
public interface CallBack {
void fun(String name);
}
public class CallBackSystem {
public void onBtnClick(String name,CallBack callBack){
System.out.println("点击按钮后系统调用你写的方法");
callBack.fun(name);
}
}
public class CallBackUser{
public static void main(String[] args) {
CallBackSystem callBackServer=new CallBackSystem();
callBackServer.onBtnClick("CallBack", new CallBack() {
@Override
public void fun(String name) {
System.out.println("Hello "+name);
}
});
}
}
标签:arrays 调用 com 不能 new 功能 外部类 api 方法
原文地址:https://www.cnblogs.com/zxcoder/p/12241784.html