`
edr_
  • 浏览: 169559 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于方法重写的作用的疑问?

阅读更多
重写方法必须与被重写方法具有相同的方法名称,参数列表和返回类型
疑问如下:
如果名称不同的话也可以运行出自己想要的结果,这样重写的作用又在哪里?
class Person{
	private String name;
	private int age;
	public void  setName(String name){this.name = name;}
	public void setAge(int age){this.age = age;}
	public String getName(){return name;}
	public int getAge(){ return age;	}
	public String getInfo(){
		return "Name = " +name+"\n"+"age = "+age;
	}	
	
}
//继承父类Person
class Student extends Person {
	private String school;
	public String getSchool(){return school;
	}
	public void  setSchool(String school){this.school = school;}
	//方法的重写/override/overwrite
	//原来为public String getInfo()
	public String GetInfo(){
		return "Name = "+getName()+"\nage = "+getAge()+"\nschool = "+school;
	}
}
public class Testoverride{
	public static void main(String args[]){
		Student student = new Student();
		Person person = new Person();
		person.setName("none");
		person.setAge(100);
		student.setName("Yusheng");
		student.setAge(22);
		student.setSchool("SMU");
		System.out.println(person.getInfo());
		//原来为System.out.println(student.getInfo());
		System.out.println(student.GetInfo());
	}
}
分享到:
评论
2 楼 edr_ 2012-07-22  
重新构造一个方法也可以实现a ??
1 楼 showtimes52007 2012-07-22  
比如一个学生类中有个方法叫做报到,继承这个学生类的一般同学执行这个方法时都会说"到",但是,你不可能保证没有喜欢跟别的学生不一样的同学,他也许就会在执行这个报到方法的时候说"我到了".这里的"我到了"就是重写了父类的方法.

相关推荐

    C#中CLR虚方法的多态调用

    本文将深入探讨CLR(Common Language Runtime,公共语言运行时)如何实现虚方法的多态调用,并解答一系列相关疑问。 #### 虚方法与多态性 在面向对象编程中,多态是指允许不同类的对象对同一消息作出响应的能力。...

    asp.net 虚方法、抽象方法、接口疑问

    在这个例子中,`A` 类中的 `GetWebUrl()` 方法被标记为 `virtual`,这样在 `B` 类中可以通过 `override` 关键字来重写这个方法。 #### 五、抽象类能否被实例化? 抽象类不能直接被实例化。如果尝试创建一个抽象类...

    QT 键盘监听(重写监听事件)

    为了全局监听键盘事件,我们需要自定义一个事件过滤器类,继承自QObject,并重写其eventFilter()方法。事件过滤器可以拦截应用程序中的所有事件,包括键盘事件。 ```cpp #include #include class KeyboardFilter...

    详解Java中@Override的作用

    在Java编程语言中,`@Override` 是一个重要的注解,它的主要作用是明确标识一个方法是重写了其父类中的方法。这个注解在代码的可读性和编译时的错误检查方面提供了显著的优势。下面我们将深入探讨`@Override` 的作用...

    jeknis疑问(1)1

    解决方法是自己重写Jenkinsfile文件。 问题3:Nexus启动问题 Nexus是一个可执行文件,相当于Windows系统中的exe文件。在 Linux 系统中,Nexus文件位于bin目录下,只需要使用./bin/nexus start命令就可以启动Nexus...

    关于iOS中属性变量setter与getter方法的理解

    需要注意的是,属性的 setter 方法和 getter 方法不能同时进行重写,因为一旦同时重写了这两个方法,系统就不会帮你生成这个成员变量了,会报错。如果真的需要重写这个属性的 setter 和 getter 方法,就需要手动生成...

    Java零基础-final关键字.md

    **final** 关键字是Java语言中用来修饰变量、方法和类的关键字之一,它的主要作用是限定被修饰的对象不可更改或重写。具体来说: 1. **final变量**:一旦被final修饰的变量被初始化之后,其值就不能再被改变。这...

    Java中的构造方法this、super的用法详解

    在Java中,构造方法的作用有两点:一是通过构造方法建立一个对象;二是通过构造方法可以快速的赋初值。构造方法的定义是public class test1 {private String name;private int age;public test1(){}},其中test1()是...

    tracer:使用Fody跟踪重写器

    示踪剂3.2.0 使用Fody跟踪和记录重写器。 它为指定的方法添加了跟踪输入和跟踪离开... 如果您有任何疑问/问题,请发送电子邮件至或添加一个问题/请求。 兼容性: netstandard 2.0(1.5.0之前的.NET Framework 4.0+)

    ( Android 获取屏幕宽高的3种方式以及获取控件宽高等的方法 )的示例demo

    如果你需要在测量阶段获取控件的宽高,可以通过重写onMeasure()方法: ```java public class CustomView extends View { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { ...

    laws-as-code:将令人困惑的冗长定律重写为伪代码? 为什么不应该很有趣

    在描述中,我们看到疑问“为什么不应该很有趣”。这暗示了将法律条文转化为代码的过程可能会带来挑战和创新,使得原本枯燥的法律文本变得生动且富有探索性。这种创新方式不仅可能吸引技术爱好者,也可能激发法律专业...

    java精典编程100例 22

    ### Java经典编程100例之Equals方法详解 #### 一、引言 在Java编程过程中,`equals`...以上就是关于Java经典编程100例中“equals”方法的相关知识点介绍。如果你还有其他疑问或想要了解更多的内容,请随时留言交流。

    java训练题3答案.docx

    **结论**:内部类是可以拥有自己的成员方法和成员变量的,这一点不存在疑问。 - **内部类的可见性修饰符:** - 内部类可以用 `abstract` 修饰定义为抽象类,也可以用 `private` 或 `protected` 定义。 **结论**:...

    android多点触摸实例及疑问

    在Android应用中,我们通常通过重写`View`的`onTouchEvent`方法来监听和处理触摸事件。`onTouchEvent`会接收到一个`MotionEvent`对象,该对象包含了事件的类型(ACTION_DOWN、ACTION_UP、ACTION_MOVE等)以及触点的...

    C#多态实现计算器有BUG,求解决!

    1. 方法覆盖:在子类中,通过`override`关键字,我们可以重写父类的虚方法(Virtual Method),以实现不同的功能。例如,父类有一个`Calculate()`方法,子类可以覆盖这个方法,提供自己的计算逻辑。如果在调用子类...

    9上unit3Grammar.ppt

    并提出了更多问题,要求使用疑问词引导宾语从句来重写Daniel的问题,如"how much sleep we need every day"(我们需要每天睡多少觉)和"which method I should use to solve the problem"(我应该使用哪种方法来解决...

    JS实现手写parseInt的方法示例

    标题和描述中提到的“JS实现手写parseInt的方法示例”涉及到JavaScript编程领域中的一个重要函数parseInt。parseInt函数是JavaScript中的内置函数,用于将一个字符串转换为指定基数的整数。手写parseInt不仅有助于...

    BootStrap模态框和select2合用时input无法获取焦点的解决方法

    这个方法的作用是确保在模态框打开时,焦点始终在模态框内。然而,实践证明,这种方法可能并不奏效,因为即使禁用了`enforceFocus`,Select2的input仍然无法获取焦点。因此,通常推荐使用第一种方法。 总结来说,当...

Global site tag (gtag.js) - Google Analytics