java中extends方法介绍

extends是java中子类继承父类的一种方式,是子类对父类的一种扩展(父亲没有实现的,儿子替他实现) ,使用方法:class B extends A{}。
这样B类就可以使用A类中定义的public、protected的属性和方法了,也可以添加自己的属性和方法。(只支持单一继承,也就是一次只能继承一个父类)

小建议:如果父类中定义了含参构造器,那么最好手动添加无参构造器!!

因为子类在继承父类时,在新建一个子类对象的时候,子类会调用到父类中的构造器(默认调用无参构造器(系统会自动生成),但如果你在父类中定义了有参构造器,那么系统将不会自动给你添加无参构造器)。

package javabasic;

public class Animal {
	public String name;		//name属性可以被继承
	private int age;		//age不能被继承
	
//不占用空间,set和get方法没有复制

	//私有方法不能被继承
	private void eat() {
		System.out.println("会吃");
	}

	public void intro() {
		System.out.println("我是"+name +",今年"+ age + "岁了");
	}
}

下面是测试类

package javabasic;

class Dog extends Animal{
	private String name;		
	
	public void play() {
		//这里super调用父类中的属性,也可以是this  有时可以不写(不写的前提是该属性中没有和父类中同名)
		System.out.println("我还会玩"+super.name);						
	}
	public void look() {
		System.out.println("我在看"+name);
	}
	
	//子类重写父类中的方法(方法名相同,参数个数类型,返回值都一样),称为方法重写或覆盖
	public void intro() {
		System.out.println("这是重写方法");
	}

	
}

public class test {
	public static void main(String[] args) {
		Dog dog = new Dog();
		dog.setAge(2);
		dog.setName("小狗");
	
		dog.intro();
		dog.play();
		dog.look();
	}
}

运行结果:
这是重写方法
我还会玩小狗
我在看小狗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值