Java中的string.getLengh()和getLength(string)之间有什么区别吗?

Java中的string.getLengh()和getLength(string)之间有什么区别吗?,java,methods,Java,Methods,考虑两种情况: System.out.println(myString.getLength()); 及 如何创建在点符号之后使用的方法,如第一个案例?该类(在您的案例中为String)有一组方法。这必须是已知的,并且可以在字符串类的源代码中更改 由于您无权访问它(除非您使用不同的方法创建自己的JDK/JRE或修改引导类路径),因此无法更改标准库中类的方法 如果您创建自己的类,您可以自己在其中创建方法: 公共类您的类{ 公共方法(){ 回报一切; } } 如果有方法的对象,则可以调用该方法:

考虑两种情况:

System.out.println(myString.getLength());

如何创建在点符号之后使用的方法,如第一个案例?

该类(在您的案例中为
String
)有一组方法。这必须是已知的,并且可以在
字符串类的源代码中更改

由于您无权访问它(除非您使用不同的方法创建自己的JDK/JRE或修改引导类路径),因此无法更改标准库中类的方法

如果您创建自己的类,您可以自己在其中创建方法:

公共类您的类{
公共方法(){
回报一切;
}
}
如果有方法的对象,则可以调用该方法:

YourClass yourObject=new YourClass();
System.out.println(yourObject.yourMethod());
对于这个问题,您可以在一些其他编程语言中更改其他类(您不拥有)的方法:


不是用Java。您可以使用Groovy或Kotlin实现这样的特技。。。不是Java


第二个选项仅当您在同一个类中或静态导入该方法时才起作用。

在Java中不起作用。您可以使用Groovy或Kotlin实现这样的特技。。。不是Java。区别在于
getLength(String)
不存在。您不必创建第一个方法。它已经存在了。第二个选项根本不起作用。JDK中没有这样的方法。@user207421正如我所说的,理论上可以修改标准libs。
YourClass yourObject=new YourClass();
System.out.println(yourObject.yourMethod());