字符串不可变意味着我们不能更改对象本身,但我们可以更改对象的引用。字符串被设置为 final 以防止其他人扩展它并破坏其不变性。安全参数通常在网络连接、数据库连接 URL、用户名/密码等中表示为字符串。如果它是可变的,则可以轻松更改这些参数。同步和并发使字符串不可变自动使其线程安全,从而解决了同步问题。缓存当编译器优化我们的 String 对象时,如果两个对象具有相同的值 (a =" test",和 b =" test"),则似乎… 阅读更多
每个类对象都是使用相同的 new 关键字创建的,因此它必须具有关于它必须为其创建对象的类的信息。因此,构造函数名称应与类名称相同。示例class MyConstructor{ public MyConstructor() { System.out.println("The constructor name should be same as the class name"); } public static void main(String args[]){ MyConstructor mc = new MyConstructor(); } }在上述程序中,构造函数名称应与类名称 (MyConstructor) 相同。输出The constructor name should be same as the class name
是的,我们可以使用匿名类创建没有名称的类。匿名类是一个没有名称的内部类,其实例是在类本身创建时创建的,这些类的创建方式与其普通类有所不同。示例public class Anonymous { public void show() {} public static void main(String args[]) { Anonymous a = new Anonymous() { public void show() { System.out.println("Anonymous Class"); } }; a.show(); } } 输出 Anonymous Class
匿名内部类是一个没有名称的类,我们将在实例化行直接定义它。示例在下面的程序中,我们使用匿名内部类实现 TutorialsPoint 接口的 toString() 方法,并打印其返回值。interface TutorialsPoint{ public String toString(); } public class Main implements TutorialsPoint { public static void main(String[] args) { System.out.print(new TutorialsPoint() { public String toString() { return "Welcome to Tutorials Point"; } }); } } 输出 Welcome to Tutorials Point