151220InnnerClassDemo3
来源:互联网 发布:win7网络上有红叉 编辑:程序博客网 时间:2024/06/07 04:53
package java151220;
/*
匿名内部类
1,匿名内部类的书写格式
2,定义匿名内部类的前提
内部类必须是继承一个类或者实现接口
*/
public class InnnerClassDemo3 {
public static void main(String[] args) {
new Outer3().function();
}
}
abstract class AbsDemo {
// 当抽象方法很多时,匿名内部类即为不美观
abstract void show();
abstract void show1();
abstract void show2();
abstract void show3();
abstract void show4();
abstract void show5();
abstract void show6();
}
class Outer3 {
int x = 3;
/*
* class Inner extends AbsDemo{ void method(){
* System.out.println("method:"+x); }
*
* @Override void show() { } }
*/
public void function() {
// AbsDemo absDemo=new Inner();
// new Inner().method();
// 匿名内部类
// new AbsDemo() {
//
// @Override
// void show() {
// System.out.println(x);
// }
// void abc(){
// System.out.println("abc");
// }
//
// }.show();
// new AbsDemo() {
//
// @Override
// void show() {
// System.out.println(x);
// }
//
// void abc() {
// System.out.println("abc");
// }
//
// }.abc();
// 多态
AbsDemo absDemo = new AbsDemo() {
int num = 9;
@Override
void show() {
System.out.println(x);
System.out.println("num=" + num);
}
void abc() {
System.out.println("abc");
}
@Override
void show1() {
}
@Override
void show2() {
}
@Override
void show3() {
}
@Override
void show4() {
}
@Override
void show5() {
}
@Override
void show6() {
}
};
absDemo.show();
// absDemo.abc(); 父类并不能调用子类特有的abc方法
}
}
/*
匿名内部类
1,匿名内部类的书写格式
2,定义匿名内部类的前提
内部类必须是继承一个类或者实现接口
*/
public class InnnerClassDemo3 {
public static void main(String[] args) {
new Outer3().function();
}
}
abstract class AbsDemo {
// 当抽象方法很多时,匿名内部类即为不美观
abstract void show();
abstract void show1();
abstract void show2();
abstract void show3();
abstract void show4();
abstract void show5();
abstract void show6();
}
class Outer3 {
int x = 3;
/*
* class Inner extends AbsDemo{ void method(){
* System.out.println("method:"+x); }
*
* @Override void show() { } }
*/
public void function() {
// AbsDemo absDemo=new Inner();
// new Inner().method();
// 匿名内部类
// new AbsDemo() {
//
// @Override
// void show() {
// System.out.println(x);
// }
// void abc(){
// System.out.println("abc");
// }
//
// }.show();
// new AbsDemo() {
//
// @Override
// void show() {
// System.out.println(x);
// }
//
// void abc() {
// System.out.println("abc");
// }
//
// }.abc();
// 多态
AbsDemo absDemo = new AbsDemo() {
int num = 9;
@Override
void show() {
System.out.println(x);
System.out.println("num=" + num);
}
void abc() {
System.out.println("abc");
}
@Override
void show1() {
}
@Override
void show2() {
}
@Override
void show3() {
}
@Override
void show4() {
}
@Override
void show5() {
}
@Override
void show6() {
}
};
absDemo.show();
// absDemo.abc(); 父类并不能调用子类特有的abc方法
}
}
0 0
- 151220InnnerClassDemo3
- 151220DuoTaiDemo2
- 151220DuoTaiDemo3
- 151220DuoTaiDemo4
- 151220DBOperate
- 151220InnerClassDemo
- 151220InnnerClassTest
- 151220InnerClassDemo2
- 151220ObjectDemo
- 151220DuoTaiDemo多态详解1
- Arduino—一款影响世界的开源硬件
- SourceTree
- cookie 和session
- centos 7 ,magento 1.9 , redis 2.8.19 下部署
- C Primer Plus2-5
- 151220InnnerClassDemo3
- Everything every Android Developer must know about new Android's Runtime Permission
- 如何设计一个安全的账户系统
- 初学certificate
- C Primer Plus2-6
- 151220ObjectDemo
- 更新NTP的expect
- SocketException.ErrorCode 列表及注释,Winsocket Error 列表及注释
- 初识Salesforce中的Apex和Trigger