黑马程序员技术交流社区
标题:
java代码:new 类名(){方法定义}应该如何理解?
[打印本页]
作者:
~﹏~
时间:
2013-11-1 15:41
标题:
java代码:new 类名(){方法定义}应该如何理解?
class test { //class开始
jPanel2 = new JPanel (){
protected void paintComponent(Graphics g){
//代码
}
};
componet.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
// 这里写你想做的事情
}
});
复制代码
作者:
∏艾力克斯※
时间:
2013-11-1 15:46
这个好像叫类重写?也是我很模糊的一个概念,希望高手来解答一下。和LZ一起等
作者:
魏-玉-彪
时间:
2013-11-1 16:04
本帖最后由 魏-玉-彪 于 2013-11-1 16:14 编辑
class test {
jPanel2 = new JPanel (){ //这里是声明并创建 Jpanel 匿名类对象
protected void paintComponent(Graphics g){
//代码
}
};// 注意这里的分号不能省略
componet.addMouseListener(new MouseAdapter()) { //这里的意思是 componet对象调用鼠标监听器方法
//而调用这个方法需要一个参数(小括号内)M (鼠标适配器对象)
//而为了简写就直接创建了没有名字的匿名对象,就是
//new MouseAdapter() 这时是指创建匿名类对象
public void mouseReleased(MouseEvent me) {
// 这里写你想做的事情
}
}
上面的代码等价于
MouseAdapter m= new MouseAdapter();
componet.addMouseListener(m) {
public void mouseReleased(MouseEvent me) {
// 这里写你想做的事情
}
}
}
复制代码
建议你再复习一下面向对象的思想概念
作者:
ciowok
时间:
2013-11-1 18:59
匿名内部类
作者:
零下五度的水
时间:
2013-11-1 19:42
{ } 相当于为那个类写一个子类,如果是接口就是为这个接口写一个实现
然后 new 这个子类/实现对象
作者:
王雷1
时间:
2013-11-1 20:03
这是一个匿名的 内部类。 一般匿名的内部类都会实现一个借口或者继承一个父类。 当我们new 的时候 直接new其借口或者父类 即可。
这里我们假设MouseAdapter是一个借口 那么
下面的方法“mouseReleased()” 是其借口的抽象方法。 所以我们必须实现它
作者:
hel
时间:
2013-11-1 21:58
匿名内部类也就是没有名字的内部类
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2