day07extends abstract

//inherit继承

        //面向对象三大特性
        //封装,继承,多态

        //java是单继承extends


        //抽象类
        //抽象类不能用来创建对象
        //抽象类(父类专用)作为其他子类的模板,包含抽象方法的类一定要为抽象类
        //抽象方法中只声明方法结构没有方法体,子类在继承时具体实现这个方法。

        //抽象方法用于子类全部重写父类方法的场合


继承

package com.lanou;

public class Person {
    private String name;
    private String gender;
    private int age;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }




    public void eat(){
        System.out.println("eat");
    }
    public void drink(){
        System.out.println("eat");
    }
    public void sleep(){
        System.out.println("sleep");
    }
}

package com.lanou;
//继承
public class Student extends Person {
    private String name;
    private String gender;
    private int age;
    private int sid;




    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }





   public void study(){
       System.out.println("study");
   }

    //重写父类
    //注解
    @Override
    public void sleep() {
        super.sleep();//调用父类方法
        System.out.println("上课睡觉");
    }

}

abstract

package homework1;
//抽象类不能创建对象
public abstract class Shape {
    public abstract double circumstance();
    public abstract double area();
}

package homework1;

public class Circle extends Shape {
    private double radiu;

    public double getRadiu() {
        return radiu;
    }

    public void setRadiu(double radiu) {
        this.radiu = radiu;
    }


    //构造方法

    public Circle(double radiu) {
        this.radiu = radiu;
    }

    //toString


    @Override
    public String toString() {
        return "半径为:" +this.getRadiu()+
                "的圆";
    }
//抽象类的子类强制全部重写父类方法
    @Override
    public double circumstance() {
        double C=this.getRadiu()*2*Math.PI;

        return C;
    }

    @Override
    public double area() {
        double S=this.getRadiu()*this.getRadiu()*Math.PI;
        return S;

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值