⑴ java方法重载,选择题。 下面哪种情况属于方法重载 ( )。 A. 方法参数类型相同 B.
重载的特性: 拥有相同的方法名,但是参数列表却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数
public void get(int a){}
public void get(String a){}
public void get(int a,int b){}
public void get(int a,int b,int c){}
类似这样的
所以答案
A方法参数类型相同 错误
B 方法参数个数相同 这个可以
C 返回类型相同 这个可以 因为重载跟返回类型无关
D 方法名相同正确 方法参数类型和个数相同错误(参数类型不同,个数可以相同)返回类型相同正确
⑵ 关于JAVA中方法重载的问题
MyClass.add(100l,200l);
long类型数字后面要加l
⑶ 下面的方法重载,正确的是( )。要详细解释
正确的是C;
函数重载的要求是函数的参数类型或者个数不同,与返回值类型无关。
A仅是返回值类型不同,舍之。
B参数完全相同,D也是,皆舍去。
C的参数个数不一样,故选C
⑷ 谁能详细告诉我有关JAVA中的方法重载和重写有什么区别
public void speak(){
System.out.println("Father");}}public class Son extends Father{
public void speak(){
System.out.println("son");}}这也叫做多态性,重写方法只能存在于具有继承关系的类中,重写方法只能重写父类非私有的方法,当上例中Father类的speak()方法为private时,Son类不能重写speak()方法,此时在Son类中定义的speak()方法相当于一个新的方法,与Father中的speak()方法没有任何关系.
当Father类的speak()方法声明为final时,无论该方法的修饰符是public,protected还是默认,Son类根本不能重写speak()方法,试图编译代码时,编译器会报错.例:
public class Father{
final void speak(){
System.out.println("Father");}}public class Son extends Father{
public void speak(){
System.out.println("son");}}//编译器错误信息:Son 中的 speak() 无法覆盖 Father 中的 speak();被覆盖的方法为 final
重写方法的规则:
1.参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载;
2.返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private);
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常.例如:
父类的一个方法申明了一个检查异常IOException,在重写这个方法时就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常(unchecked exception,如运行时异常).
重载方法的规则:
1.必须具有不同的参数列表;
2.可以有不同的返回类型,只要参数列表不同就可以了;
3.可以有不同的访问修饰符;
⑸ 关于方法重载和方法重写下列说法正确的是( ) A.方法重载是被重载的方法的参数类型必须不同 B.方法重写
解题前先搞清楚方法的重载和重写,二者都是多态,应用场合不同。
(1)重载(Overloading)
重载Overloading是一个类中多态性的一种表现。方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
(2)重写 (Overriding)
重写 (Overriding)是父类与子类之间的多态性的一种表现,对父类的函数进行重新定义。如果在子类中定义某 方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。方法重写又称方法覆盖。
A 正确。这就是方法重载的基本要求之一。
B 错误。 重写和重载都属于多态
C 错误。只是同名还不保证,还要参数类型和个数相同
D 正确。重写要求子类访问权限不能小于父类,比如父类是private,而子类是public就不行。
所以选D
⑹ 方法的重载与重写
1、重载: 方法名相同,参数列表不同 。 重载是一个类里面,写了多了同名的方法,各个方法的返回值类型可以不一样。要注意区分重载方法可以通过参数列表的个数,类型和顺序。但是不推荐用顺序来进行重载,这会让代码可读性极差。
2、重写: 也叫覆盖,指在子类中定义一个与父类中方法同名同参数列表的方法。因为子类会继承父类的方法,而重写就是将从父类继承过来的方法重新定义一次,重新填写方法中的代码。重写一般是指父类和子类之间,子类重写了父类的一个方法,当然方法名是一样的,而且不能改变父类方法的返回值,比如说父类是返回String,子类重写了这个方法,想返回一个int,那是不行的,也得返回String。
⑺ 关于方法重载问题
...你这个代码描述的貌似是重写呢,重载是在同一个类里面有两个或两个以上相同名称的方法,只是所传的参数个数,类型,顺序的其中之一不相同。
//声明类,及其作用域,一个java文件里面有且只有一个public修饰的class
public class objectinstance {
//重写类的toString方法
public String toString(){
//返回一个拼接的字符串,getClass().getName()是这个类的类名
return "在"+getClass().getName()+"类中重写了toString()方法。";
}
//调用主函数
public static void main(String[] args) {
//这里打印的是一个创建的对象,虚拟机会自动调用这个创建出来的对象的toString方法
System.out.println(new objectinstance());
}
}
⑻ 关于Java中的方法重载
在java中,如果两个方法名相同,但参数项不同,那么可以认为一个方法是令一个方法的重载方法,此过程称为“方法重载”。
参数项不同:
①参数个数相同,类型不 同
②参数个数不同
尽信书则不如无书。
⑼ java关于方法重载和方法重写
重写:子类继承父类时覆盖(或者说替换)父类具有同样签名的方法。这里的重点在于覆盖特性,即重写之后,使用该子类的引用调用重写后的方法时,只能调用到重写后的方法,无法调用到被重写的父类方法。
重截:同一个类里具有相同方法名但不同参数列表的方法,每个方法都可以被调用。
子类继承父类的方法public void methodA()后,
再在子类里追加 public void methodA(String input)
这时在子类里就发生了methodA的重截。
重点是 一个是覆盖,一个是增加,跟是不是内部类,同一个类没有关系。