java中字符串也是个匿名对象?(新手求解释)
1,匿名对象是没有名字的对象,直接new出来的,比如new Demo();
java匿名对象_java匿名对象只能使用一次吗
2,字符串比较特殊,java每一个字符都是String类的对象,虽然你没有创建实例,但是确能调用方法,
3,比如,String s = “hello”;s.isEmpty();这里就没有创建对象,却可以调用方法,
匿名类顾名思义就是没有名字的类。
interface hello{
String start();
}public class ok{
public String hello(){
return new hello(){ //这个个地方就是匿名类
String start(){ return "hello world"; }
}}
}
假如只创建这个类的一个对象,就不必为这个类命名,这种类就成为了匿名类。
这是一个例子,参考下
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) { //这里为匿名类的定义
stopGame();
System.exit(0);
}});
匿名内部类首先是一个类的内部定义的,是用来帮助你这个外部类去更好的实现一些功能,没有那么神密的,主要用在向方法传递一个对象做为参数。
public void fun(new Person{
System.out.println("你好");
});
向方法传了一个person的对象。Person是外部类,匿名类只是一个类体,这个类体创建的对象上转型为Person的对象了。
就是没有说类的名字,直接说是使用的哪个接口或者父类。
一般用在 事件处理、线程比较多
其实还是很常用的
但是没有必要去纠结哪里用,学会了之后到用的时候自然就用了
比如我问:2+3 哪里用?这个根本没法回答,全世界都在用。
JAVA里面匿名内部类很少用,不是很常见,
主要可以继承多个类
A类 B类
C类(匿名内部类)可以继承 A B类
匿名类是一种特殊的局部内部类
可以从类继承匿名类,还可以从抽象类,接口继承(实现)匿名类
匿名内部类,非常常见,可以写在任何地方,就像一般的语句。
语法更象是创建对象:Date d = new Date(){};
匿名类是对原类的一个继承,同时创建了实例,{} 就是继承
以后的类体。类体中可使用所有类的语法。
匿名类不能写构造器。
匿名类可以从抽象类或者接口继承,
必须提供抽象方法的实现。
顾名思义,匿名对象即为对象没有名字(引用)。下面是一个例子:
Java第一个程序HelloWorld中有这么一句:System.out.print(''Hello world!''); 其中 Hello world! 就是匿名对象。
通常的写法:String str=''Hello world!''; 这时 str 就是 Hello world! 的名字(引用)。
this.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}});
new WindowAdapter()就是一个匿名对象
在Java中,局部内部类的所有成员和方法(即使成员和方法是私有的)对于其所在的方法中来说是可知的。而匿名内部类(对象)是定义在一个类方法中的匿名子类对象,属于局部内部类。
因而,在inMethod方法中可以调用匿名子类对象的私有方法。
直接在匿名对象后调用该对象方法就可以了..要调用对象多个方法,你就要对该对象进行命名.匿名对象只能一次性使用.
匿名方法一般只使用一次,你如果想实现多次调用,最好不要把方法或对象写成匿名的