java方法重写和super关键字

//java方法重写和super关键字
//在继承中,其实就是子类定义了和父类同名的方法
//就是方法,属性都是相通的
//重写限制:
//被子类重写的方法不能拥有比父类方法更加严格的权限
//super:强行调用父类方法的执行

/*重载和重写的区别?
 * 重载是发生在一个类中   对权限没有要求   而且重载的方法参数可以不同
 * 重写发生在继承汇总      被子类重写的方法不能拥有比父类方法更加严格的权限,重写的方法中参数名字完全相同
 *
 */
class A{
	public void tell(){
		System.out.println("我是tell方法");
	}
	//private(同一个类下) < default(在同一包下可以被访问) < public(整个工程都可以访问)
	//默认default
	void say(){

	}
}
class B extends A{
	//这种方式称为方法的重写
	public void tell(){
		//super不一定在重写中使用,也可以表示那些方法是从父类中被继承过来的。
		super.tell(); //通过super关键字可以调用父类中的tell方法
		System.out.println("我重写了tell方法");
	}
}
class HelloWorld{

	public static void main(String[] args){
		B b = new B();
		b.tell();
	}

}
	
时间: 2024-11-02 10:14:13

java方法重写和super关键字的相关文章

JAVA学习(七):方法重载与方法重写、this关键字和super关键字

方法重载与方法重写.this关键字和super关键字 1.方法重载 重载能够使具有相同名称但不同数目和类型参数的类传递给方法. 注: 一是重载方法的参数列表必须与被重载的方法不同,并且这种不同必须足以清楚地确定要调用哪一个方法: 二是重载方法的返回值类型可以与被重载的方法相同,也可以不同,但是只有返回值类型不同不能表示为重载. 例如,最常用的println()方法在JDK的java.io.PrintStream中定义了十几种形式的重载,常用格式如下: public void println(in

java方法重写实例分析_java

本文实例讲述了java方法重写,分享给大家供大家参考.具体分析如下: 一.方法的重写概述: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 二.程序代码如下: class Person{ private int age; private String name; public void setAge(int age){ this.age = age; } pub

浅谈Java方法的重载_java

方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不用的参数表选择对应的方法 比如 public class Test { void max(int a,int b) { System.out.println(a>b ? a:b); } void max(double a,double b) { System.out.println(a>b ? a:b); } public static void main(String[] args) { Test t = ne

Java的super关键字与instanceof运算符使用方法_java

Java super关键字 super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类. super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法.super 也可以用在子类的子类中,Java 能自动向上层类追溯. 父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯. super 关键字的功能: 调用父类中声明为 private 的变量. 点取已经覆盖了的方法. 作为方法名表示父类构造方法. 调用隐藏变

详解Java编程中super关键字的用法_java

通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论this&super这两个关键字的意义和用法.在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当

java super-java中super关键字的疑问

问题描述 java中super关键字的疑问 其实我想问的是为什么在静态方法中不能用super? 既然编译器规定我们不能在静态方法中使用super只能在实例方法中使用.而子类中的实例方法要调用只有等到对象产生后.但是我们都知道抽象类是不能被实例化的但是却能在其子类中调用其方法. 如果说super是指向父类的引用这个引用在虚拟机中是怎样形成的又是何时形成的? 解决方案 java中super关键字的使用JAVA中super关键字的用法Java中super关键字的三种用法 解决方案二: 静态字段.成员不

java之super关键字用法实例解析_java

本文实例讲述了java中super关键字的用法.分享给大家供大家参考.具体方法分析如下: super关键字:在java中使用super来引用基类的成分. 程序代码如下: class FatherClass{ public int value; public void f(){ value = 100; System.out.println("FatherClass.value:"+value); } } class ChildClass extends FatherClass{ pri

Java override方法重写学习笔记

重载Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同).那么如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载?结果是不行的.,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove 方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返

举例讲解Java编程中this关键字与super关键字的用法_java

this总要有个事物来代表类的当前对象,就像C++中的this指针一样,Java中的this关键字就是代表当前对象的引用. 它有三个主要的作用: 1.在构造方法中调用其他构造方法.       比如有一个Student类,有三个构造函数,某一个构造函数中调用另外构造函数,就要用到this(),而直接使用Student()是不可以的. 2.返回当前对象的引用. 3.区分成员变量名和参数名. 看下面的例子: public class Student { private String name; pr