• java第七章 继承 课堂笔记/作业


     static:

    总结:
    如果对象不创建,则普通代码块不能够被执行,当然,普通方法也无法调用
    如果对象不创建,静态代码块依然能够被执行,而且,静态方法可直接通过类调用
    说明,普通属性、方法、代码块是 对象级别的
    静态属性、方法、代码块是 类级别的

    继承:

    继承可以解决编程中代码的冗余的问题,是实现代码重写重用的手段之一。

    格式:

    【访问修饰符】class<Subclass>extends<superclass>{  }

    继承通过extends关键字实现,其中SubClass称为子类,SuberClass称为父类或基类

    作业:

    package com.jicheng;
    /**
     * Pet.java
     * @author 陈
     *2019.1.18
     */
    public class Pet {
        //创建一个宠物类
        
        //定义属性设立私有: 名字 、 年龄 、 亲密度 、 健康值
        private String name;
        private int age;
        private int love;
        private int health;
        
        //创建属性的set/get方法
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public int getLove() {
            return love;
        }
        public void setLove(int love) {
            this.love = love;
        }
        public int getHealth() {
            return health;
        }
        public void setHealth(int health) {
            //创建健康值set方法,加入判断,输入的健康值大于100或小于0,都默认为60
            if(health<0||health>100) {
                health = 60;
                System.out.println("输入的值超出范围,默认健康值为60");
                
            }
            this.health = health;
        }
        
        public void make() {
            //创建宠物的自白方法
            System.out.println("宠物的自白");
            System.out.println("我的名字叫"+this.name+",我今年"+this.age+"岁了"+",健康值是:"+this.health+",我和主人的亲密度是:"+this.love);
        }
    }
    package com.jicheng;
    /**
     * Dog。java
     * @author 陈
     *2019.1.18
     */
    public class Dog extends Pet {
        //创建一个继承Pte父类的Dog的子类
        
        private String kind;
        //定义一个品种的属性,设为私有
    
        //创建属性的set/get方法
        public String getKind() {
            return kind;
        }
        public void setKind(String kind) {
            this.kind = kind;
        }
        
        public void make() {
            //重写父类的make方法
            super.make();
            //调用父类的make方法
            System.out.println("我是一只"+this.kind);
            //输出自己私有属性
        }
    }
    package com.jicheng;
    /**
     * Cat.java
     * @author 陈
     *2019.1.18
     */
    public class Cat extends Pet {
        //创建一个继承Pet父类的Cat子类
        
        private String color;
        //定义一个私有的颜色属性
        
        //创建set/get方法
        public String getColor() {
            return color;
        }
        public void setColor(String color) {
            this.color = color;
        }
        
        public void make() {
            //重写父类的make方法
            super.make();
            //调用父类的make方法
            System.out.println("我的颜色是"+this.color);
            //输出自己的特有属性
        }
    }
    package com.jicheng;
    /**
     * Penguin.java
     * @author 陈
     *2019.1.18
     */
    public class Penguin extends Pet {
        //创建一个继承Pet父类的Penguin子类
        
        //定义设立私有属性:性别
        private String sex;
    
        //创建set/get方法
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            //在set方法内写判断语句:如果输入的Q仔或者Q妹,this.sex = sex;否则默认sex = Q仔
            if(sex.equals("Q仔")||sex.equals("Q妹")) {
                this.sex = sex;
            }else {
                System.out.println("输入的性别不对,默认为Q仔");
                sex = "Q仔";
            }
            this.sex = sex;
        }
        
        public void make() {
            //创建重写父类的make方法
            super.make();
            //调用父类的make方法
            System.out.println("我的性别是(Q仔、Q妹):"+this.sex);
            //输出私有的属性
        }
    }
    package com.jicheng;
    /**
     * Test.java
     * 陈
     * 2018.1.18
     */
    import java.util.Scanner;
    
    public class Test {
        //创建一个测试类
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            Dog dog = new Dog();
            //创建dog对象
            Cat cat = new Cat();
            //创建cat对象
            Penguin pen = new Penguin();
            //创建pen对象
            
            System.out.println("欢迎来到宠物店");
            System.out.println("请输入你要领养的宠物类型:(1、狗狗。2、猫。3、企鹅)");
            int i = sc.nextInt();
            //判断输入的i
            if(i == 1) {
                //如果i等于1,则选择输入下面的属性,最后调用dog的make方法
                System.out.println("您要领养狗狗的名字:");
                dog.setName(sc.next()); 
                System.out.println("请选择要领养狗狗的品种:");
                dog.setKind(sc.next());
                System.out.println("请输入领养狗狗的健康值:");
                dog.setHealth(sc.nextInt());
                dog.make();
                
            }else if(i == 2){
                //如果i等于2,则选择输入下面的属性,最后调用cat的make方法
                System.out.println("您要领养猫的名字:");
                cat.setName(sc.next());
                System.out.println("请选择要领养猫的颜色:");
                cat.setColor(sc.next());
                System.out.println("请摄入领养猫的健康值:");
                cat.setHealth(sc.nextInt());
                cat.make();
                
            }else {
                //否则i无论等于3或等于其他,则选择输入下面的属性,最后电泳pen的make方法
                System.out.println("请输入领养企鹅的名字:");
                pen.setName(sc.next());
                System.out.println("请选择领养企鹅的性别:");
                pen.setSex(sc.next());
                System.out.println("请输入领养企鹅的健康值:");
                pen.setHealth(sc.nextInt());
                pen.make();
            }
        }
    }

  • 相关阅读:
    此网站的安全证书有问题
    WebBrowser控件打开https站点
    C# 调Win32 API SendMessage简单用法及wMsg常量
    sendmessage和postmessage的区别
    C# 使用Win32 API模拟键盘鼠标操作网页
    WebBrowser控件跨域访问页面内容
    获取webbrowser中元素的屏幕坐标
    一行js代码识别Selenium+Webdriver及其应对方案
    用Selenium自动化测试时,让ChromeDriver中不显示“正受到自动测试软件控制”
    Java Selenium Actions模拟鼠标拖动dragAndDrop总结
  • 原文地址:https://www.cnblogs.com/qq993411626------/p/10290036.html
Copyright © 2020-2023  润新知