java里面能不能重载*作符?

java里面能不能重载*作符?

第1个回答  2015-08-04
从语言一级来看,java不支持运算符重载。

String类的"=","+","+=",看似运算符重载,实际不是,只是在java编译器里做了一点手脚。
java编译器对String的运算符做了特殊处理。

比如:
String s = "s1";
s += "s2";
编译器转换成了:
String s = "s1";
s = (new StringBuilder()).append(s).append("s2").toString();

如果你有Java Decompiler(如jad),你可以将一个字符串操作的程序反编译来看看。奥妙就在其中。
第2个回答  2015-08-04
能说明白点么 啥叫*作符
第3个回答  2015-08-04
java中没有运算符重载

Java支持运算符重载吗,为什么?
不支持。因为Java作者最初没加,他认为不需要。后来则是因为郑智原因,就将这一缺憾当做一个好处来宣传。编程语言本身本不应限制程序的基于直觉或基于过去的知识的表达。就像Java对泛型的支持情况同样很糟糕一样,我们也只能希望有一天他们会引入这些语法属性。

java中重载和重写的区别是什么?
首先,重载(Overloading)是类内部的一种机制,它允许在同一个类中定义多个同名的方法,但这些方法的参数列表必须不同。这意味着参数的数量、类型或顺序的任何变化都可以导致方法的重载。即使返回类型或访问修饰符有所差异,这也是在编译时进行检查的。重载主要用于提供多种实现方式,根据传入的参数类型或...

java重载和重写的区别
一、重载 重载是在同一个类中,方法名相同但参数列表不同的方法。它允许你定义多个具有相同名称但参数不同的方法。重载方法必须存在于同一个类中,且方法名、参数列表必须完全相同,只是参数类型或参数个数可以不同。重载方法可以有不同的访问修饰符。当调用重载方法时,Java编译器会根据传入的参数类型和...

为什么Java不支持操作符重载
回到题目的话题,Java为什么没有操作符重载,C++ 的操作符重载是其语言强大与灵活的一个重要特征, 我今年因为工作原因接触过Quatro DSP的模拟器,Quatro DSP是一个用于打印机,扫描仪的数字图象处理器,模拟器本身其实是一个C++库,通过库的支持能够把Quatro DSP的汇编语言转化为合法的C++ 函数调用,从而...

java中重载与重写的区别
java中有两个东西,一个是 方法重载 一个是 成员覆写 ,方法重载 是指 一个类里面可以有多个方法,而且方法名称相同,但是方法的参数类型或者参数个数不同,功能也可以不同。成员覆写 是指子类继承父类后,可以覆盖掉父类的 方法 和 属性。子类的方法和属性名称类型与父类的一样,...

Java中重写(Override)与重载(Overload)
在Java编程中,重写与重载是两个关键的概念。重写主要发生在继承关系中,当继承的类不完全符合被继承类的方法需求时,可以在继承类中重写该方法。重写的核心原则是保持外部结构不变,只调整内部实现,类似于山寨手机,虽然外观相似,但核心功能不同。重写的主要注意事项包括:必须是继承类中的方法重写被继承...

重载和重写有什么区别
重载和重写属于Java面向对象中多态基础知识点,下面就给大家说说多态。什么叫做多态?多态指的是在继承关系中子类继承父类的行为,这种行为在子类具体实现时可以是不一样的。比如动物这一父类中有move()方法,在鸟类子类中和鱼类子类中move的实现是不一样的。在Java中多态是通过重写(@Override:把父类的...

java重载与重写的区别
)。4>方法的其他地方对重载没有影响。2,再说一下重写的条件 1>父类与子类之间的关系 2>方法名相同 3>参数列表要相同,返回值要相同。其实,准确的说,当返回值类型兼容时,子类的返回值类型可以相等或者更小。4>访问修饰符的权限不能缩小。5>子类不能比父类抛出更大的异常。

java 私有方法能被重载或者重写吗?
可以重载,不能重写。重载:就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义 比如 public class Dog { private void bark(){\/\/bark()方法是重载方法 } private void bark(int a){\/\/bark()方法是重载方法 } }重写:类与子类之间的多态性,对父类的...

java私有方法能被重载或者重写吗?
1.可以重载,不能重写。2.重载:就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义 比如:public class Dog {private void bark(){\/\/bark()方法是重载方法}private void bark(int a){\/\/bark()方法是重载方法}} 3.重写:类与子类之间的多态性,对父类的函数进行...

相似回答