java学习实用方法,面向对象的进阶知识点(05)

目录

1.方法重写(override)

2.Object类

3.to String

4.equals方法的重写

5.super关键字

6.继承树追溯


1.方法重写(override)

主函数:
main ()
{  House h=new Horse() ;
   h.run();                          //输出:得儿驾!得儿驾!(覆盖了父类中的同名函数)
}
    //父类
class Vehicle
{
public:
 void run(){
System.out.println("跑");
}
public void stop
{
System.out.println("停下!");
 }
}
     //子类
class Horse extends Vehicle
{
public void run()
{
System.out.println("得儿驾!得儿驾!");
 }
}

输出:

得儿驾!得儿驾!

2.Object类


public class Person ;   //相当于class Person extends Object
Object obj;             //创建Object类的对象

Object类是所有java的根基类,包含许多方法,其子类中都可调用)

3.to String

(系统内部的类)

main(){
TestObject to = new TestObject(); 
System.out.println(to);//相当于(to.toString()) 
                       //调用toString的方法

4.equals方法的重写

(Object类中提供的方法,提供定义“对象内容相等”的逻辑)

主函数:
{
Object obj;
String str;
String str1=new String ("sxt");
String str2=new String ("sxt");
System.out.println(str1==str2);         //false,内容相同但不同对象
System.out.println(str1.equals(str2));  //true,sxt=sxt
} 

注:在eclipse编译器中单击右键找到source--hascode and equals 的方法(依赖于id生成),可以自定义重写equals

5.super关键字

super是直接父类对象的引用,可通过super访问父类中被子类覆盖的方法或属性,

若构造函数第一行没有显示调用super()或this(...)那么java默认都会调用super(),含义是调用父类无参构造。

public class Test{
public static void main(String[] args){
new ChildClass.func();
 }
}

class Fatherclass{
public int value;
void func()
{
value=100;
System.out.println("Fatherclass value="+value);}
}

class Childclass extends Fatherclass{
public int value;
void func(){
super.func();   //调用父类的func函数
value=200;
System.out.println("Childclass value="+value);
System.out.println(value);
System.out.println(super.value); //调用父类的成员变量

 }
}

输出:

Fatherclass value=100

Childclass  value=200

200

100

6.继承树追溯

所有构造函数的第一句话都是调用super();

Child--->Father-->Object(一层一层向上追溯)

Object-->Father-->Child(一层一层向下执行)

public class Test { 
    public static void main(String[] args) {
        System.out.println("开始创建一个ChildClass对象......");
        new ChildClass();
    }
}
class FatherClass {
    public FatherClass() {
        System.out.println("创建FatherClass");
    }
}
class ChildClass extends FatherClass {
    public ChildClass() {
        System.out.println("创建ChildClass");
    }
}

输出:

"开始创建一个ChildClass对象......

创建FatherClass

创建ChildClass

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值