java学习笔记day08 工具类、说明书制作、代码快、继承、super、方法重写

java学习笔记day08思维导图工具类及其说明书的制作 + 代码块 + 继承一、工具类工具类的说明书生成(IDEA)如何使用帮助文档API⭐使用帮助文档的例子二、代码块⭐实例运行结果三、继承⭐⭐⭐1.概述2.继承的好处与弊端3.继承的特点4.继承的注意事项5.继承中成员变量的关系6.super关键字super与this代码实例7.继承中构造方法的关系⭐【P218】8.重要的3道面试题⭐⭐1.【P219】cla
摘要由CSDN通过智能技术生成

java学习笔记day08

思维导图

工具类及其说明书的制作 + 代码块 + 继承

一、工具类

在这里插入图片描述
在这里插入图片描述

工具类的说明书生成(IDEA)

在这里插入图片描述
在这里插入图片描述

如何使用帮助文档API⭐

在这里插入图片描述
使用帮助文档的例子
在这里插入图片描述

二、代码块⭐

在这里插入图片描述
实例
在这里插入图片描述
运行结果
在这里插入图片描述

三、继承⭐⭐⭐

1.概述

在这里插入图片描述

2.继承的好处与弊端在这里插入图片描述

3.继承的特点

在这里插入图片描述

4.继承的注意事项

在这里插入图片描述
在这里插入图片描述

5.继承中成员变量的关系

在这里插入图片描述

6.super关键字

在这里插入图片描述

super与this

在这里插入图片描述
代码实例
在这里插入图片描述

7.继承中构造方法的关系⭐【P218】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.重要的3道面试题⭐⭐

1.【P219】在这里插入图片描述

class Father {
    public int num = 10;
    public Father() {
        System.out.println("Father");
    }
}
class Son extends Father{
    public int num = 20;
    public Son() {
        System.out.println("Son");
    }
    public void show() {
        int num = 30;
        System.out.println(num);
        System.out.println(this.num);
        System.out.println(super.num);
    }
}
public class stuy {
    public static void main(String[] args) {
        Son s = new Son();
        s.show();
    }
}

结果
在这里插入图片描述
2. 【P220】
在这里插入图片描述

class Father {
    static {
        System.out.println("Father的静态代码块");
    }
    {
        System.out.println("Father的构造代码块");
    }
    public Father() {
        System.out.println("Father的构造方法");
    }
}
class Son extends Father{
    static {
        System.out.println("Son的静态代码块");
    }
    {
        System.out.println("Son的构造代码块");
    }
    public Son() {
        System.out.println("Son的构造方法");
    }
}
public class stuy {
    public static void main(String[] args) {
        Son s = new Son();
    }
}

结果
在这里插入图片描述
3.【P221】
在这里插入图片描述

class X {
    Y b = new Y();
    X() {
        System.out.print("X");
    }
}

class Y {
    Y() {
        System.out.print("Y");
    }
}

public class stuy extends  X{
    Y y = new Y();
    stuy() {
        //super();
        System.out.println("Z");
    }
    public static void main(String[] args) {
        new stuy();
    }
}

结果
在这里插入图片描述

9.方法重写⭐⭐

在这里插入图片描述
在这里插入图片描述
案例
在这里插入图片描述
案例源代码

class Phone {
    public void call(String name) {
        System.out.println("给"+name+"打电话");
    }
}

class NewPhone extends Phone {
    public void call(String name) {
        super.call(name);
        //System.out.println("给"+name+"打电话");
        System.out.println("可以听天气预报了");
    }
}

public class stuy {
    public static void main(String[] args) {
        NewPhone np = new NewPhone();
        np.call("JOJO");
    }
}
方法重写注意事项

在这里插入图片描述

方法重写的两个案例⭐ 【P227、P228】

1.学生案例

class Person {
    private String name;
    private int age;
    public Person() {
    }
    public Person(String name,int age) {
        this.name = name;
        this.age = age;
    }
    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;
    }
}

class Student extends Person {
    public Student() {
    }
    public Student(String name,int age) {
        //this.name = name;错误写法
        //this.age = age;错误写法
        super(name,age);   //易错点!!!!
    }
}

public class stuy {
    public static void main(String[] args) {
        //方式1
        Student s1 = new Student();
        s1.setName("JOJO");
        s1.setAge(17);
        System.out.println(s1.getName()+"---"+s1.getAge());
        //方式2
        Student s2 = new Student("JOJO",17);
        System.out.println(s2.getName()+"---"+s2.getAge());
    }
}

2.猫狗案例

/*
	猫狗案例讲解
	
	先找到具体的事物,然后发现具体的事物有共性,才提取出一个父类。

	猫:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			palyGame()
	狗:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			lookDoor()

	共性:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()

	把共性定义到一个类中,这个类的名字叫:动物。
	动物类:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()

		猫:
			构造方法:无参,带参
			成员方法:palyGame()
		狗:
			构造方法:无参,带参
			成员方法:lookDoor()
*/
//定义动物类
class Animal {
    //姓名
    private String name;
    //年龄
    private int age;
    //颜色
    private String color;

    public Animal() {}

    public Animal(String name,int age,String color) {
        this.name = name;
        this.age = age;
        this.color = color;
    }

    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 String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public void eat() {
        System.out.println("不要睡了,该吃饭了");
    }
}

//定义猫类
class Cat extends Animal {
    public Cat() {}

    public Cat(String name,int age,String color) {
        super(name,age,color);
    }

    public void playGame() {
        System.out.println("猫玩英雄联盟");
    }
}

//定义狗类
class Dog extends Animal {
    public Dog() {}

    public Dog(String name,int age,String color) {
        super(name,age,color);
    }

    public void lookDoor() {
        System.out.println("狗看家");
    }
}

//测试类
class stuy {
    public static void main(String[] args) {
        //测试猫
        //方式1
        Cat c1 = new Cat();
        c1.setName("Tom");
        c1.setAge(3);
        c1.setColor("白色");
        System.out.println("猫的名字是:"+c1.getName()+";年龄是:"+c1.getAge()+";颜色是:"+c1.getColor());
        c1.eat();
        c1.playGame();
        System.out.println("---------------");

        //方式2
        Cat c2 = new Cat("杰瑞",5,"土豪金");
        System.out.println("猫的名字是:"+c2.getName()+";年龄是:"+c2.getAge()+";颜色是:"+c2.getColor());
        c2.eat();
        c2.playGame();

        //作业:测试狗
    }
}

特别补充!!!🤡

子类对父类private的继承,应该这样理解:
在这里插入图片描述
子类继承了父类的private属性或方法,只是没有办法直接调用而已!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验二 C#程序设计练习 一、实验目的 1.掌握C#语言的基本语法、控制语句及异常处理。 2.掌握C#类的基本使用方法以及C#语言面向对象的基本特性。 二、实验内容 1.编写一个函数,用于计算1!+2!+3!+4!+5!,在控制台或页面输出运行结果。 2.在控制台或页面输出九九乘法表。 3.输入10个以内的整数,输出该组整数的降序排列,要求采用数组实现。 4.计算两个数的商,在控制台或页面输出结果,要求包含异常处理。 5.定义一个汽车类,该类具有重量和速度属性;再定义一个跑车类,该类继承汽车类的属性,并拥有自己的颜色属性;然后声明一个汽车类的对象和一个跑车类的对象,并把它们的属性输出到控制台上。 6.假设某动物园管理员每天需要给他所负责饲养的狮子、猴子和鸽子喂食。请用一个程序来模拟他喂食的过程。 要求: (1)饲养员喂食时,不同动物执行不同的吃的功能,例如狮子吃肉、猴子吃香蕉、鸽子吃大米等。 (2)饲养员喂动物时,不能使用判断语句判断动物类型。 (3)使用虚方法或抽象方法实现喂养不同动物的多态,不能使用方法重载。 提示:需要建一个动物类,动物类有一个虚的或抽象的吃方法,动物类下面有几个子类,不同的子类重写父类的吃方法。饲养员类提供喂食方法。然后,在Main方法中一一调用吃的方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Add2._1 { class Program { static void Main(string[] args) { int sum = 0; for (int i = 1; i < 6; i++) { int tmp = 1; for (int j = 1; j <= i; j++) { tmp = tmp * j; } sum += tmp; } Console.WriteLine("1!+2!+3!+4!+5!={0}\r\n", sum.ToString()); } } }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值