CGBTN2110-DAY09总结复习

private static void method3() throws Exception{ }

  1. 如果一个方法抛出了异常,那么谁来调用这个方法,谁就需要处理这个异常,这里的处理也有两种方案:捕获解决 或者 继续向上抛出

  2. 不能直接把异常抛给main(),因为调用main()是JVM,没人解决了,该报错还报错,所以我们一般会在main()调用之前将异常解决掉

3. 抽象

============================================================================

1.抽象类

  1. 被abstract修饰的方法是抽象方法,抽象方法没有方法体

  2. 一旦一个类中有抽象方法,这个类必须被声明成抽象类

  3. 如果一个子类继承了一个抽象父类,有两种解决方案:

1)抽象子类:不实现/实现一部分抽象父类中的抽象方法

2)普通子类:实现抽象父类中全部的抽象方法

  1. 抽象类不能实例化

  2. 抽象类有构造函数的,但是不是为了自己使用,为了子类super()调用

  3. 抽象类可以定义成员变量/成员常量

  4. 抽象类中可以定义全普/全抽/半普半抽

  5. 如果一个类不想被外界实例化,可以把这个类声明成抽象类

2 抽象方法

  1. 被关键字abstract 修饰的方法就是抽象方法

  2. 抽象方法没有方法体{ },直接以分号结束

4. 练习案例1:

================================================================================

package cn.tedu.exec;

/本类用于面向对象综合设计案例/

public class DesignTeacher {

}

//抽取所有类的共性功能,向上形成父类Teacher

abstract class Teacher{

//既然父类中的方法一定会被子类重写,那可以把父类中的方法声明成抽象方法

//抽象父类去制定规则,实际干活的交给子类

public abstract void ready();

public abstract void teach();

}

//1.创建培优CGB老师类

//业务:主打互联网架构与微服务

class CGBTeacher extends Teacher{

@Override

public void ready() {

System.out.println(“正在备课互联网技术”);

}

@Override

public void teach() {

System.out.println(“正在讲课互联网技术”);

}

}

//2.创建高手加薪班老师类

//主打:基础加强 框架加强 高新技术

class ACTTeacher extends Teacher{

@Override

public void ready() {

System.out.println(“正在备课基础加强”);

}

@Override

public void teach() {

System.out.println(“正在授课基础加强”);

}

}

//3.创建一个抽象子类,只实现抽象父类中的一个抽象方法

abstract class SCDTeacher extends Teacher{

@Override

public void ready() {

System.out.println(“正在研发中…”);

}

}

5 练习案例2:

==============================================================================

  1. 定义父类小鸟类Bird :

腿legNumbers的数量为2

下蛋eggNumbers数量可以自定义

拥有飞行fly()功能 下蛋layEggs()功能

  1. 定义子级鸽子类Pigeon:

它既会飞,也会下蛋

  1. 定义子级燕子类Swallow:

它既会飞,也会下蛋,还有自己的特有功能筑巢makeNest()

package cn.tedu.exec;

/本类用作OOP综合案例/

public class TestAnimal {

public static void main(String[] args) {

//11.创建鸽子类对象

Pigeon p = new Pigeon();

System.out.println(p.LEG_NUMBERS);//2

System.out.println(p.eggNumbers);//0,还是父类的默认值

p.layEggs();//鸽子的下蛋数量为:2个

p.fly();//小鸟飞呀飞~

//12.创建燕子类的对象

Swallow s = new Swallow();

System.out.println(s.LEG_NUMBERS);//2

System.out.println(s.eggNumbers);//6

s.fly();//继承过来的方法

s.layEggs();//实现了的抽象方法

s.makeNest();//自己的特有方法

}

}

//1.定义父类小鸟类

abstract class Bird{

//2.定义小鸟类中的成员常量,腿的数量为2

final int LEG_NUMBERS = 2;

//3.定义小鸟类中的成员变量,下蛋的数量

int eggNumbers;

//4.定义小鸟类中的普通方法

public void fly(){

System.out.println(“小鸟飞呀飞~”);

}

//5.定义小鸟类中的抽象方法

public abstract void layEggs();

}

//6.创建子类鸽子类

class Pigeon extends Bird{

//7.实现抽象父类中未实现的方法

@Override

public void layEggs() {

System.out.println(“鸽子的下蛋数量为:2个”);

}

}

//8.创建第2个子类燕子类

class Swallow extends Bird{

//7.1定义子类自己的成员变量

int eggNumbers = 6;

//7.2实现抽象父类中未实现的方法

@Override

public void layEggs() {

System.out.println(“燕子的下蛋数量:”+eggNumbers);

}

//8.定义子类特有的方法

public void makeNest(){

System.out.println(“燕子筑巢~”);

}

}

5 练习案例2:动物设计代码2

=====================================================================================

  1. 定义父类昆虫类Insect:

腿的数量为6,产卵的数量可以自定义,拥有飞行的功能还有产卵spawn的功能

  1. 定义子级蚂蚁类Ant:

它既会飞,也会产卵

  1. 定义子级蜜蜂类Bee:

它既会飞,也会产卵,还有自己的特有功能制作蜂蜜makeHoney

package cn.tedu.review;

/本类用于实现设计案例/

public class TestAnimal {

public static void main(String[] args) {

//1.创建蚂蚁类对象

Ant a = new Ant();

System.out.println(a.LEG_NUMBERS);//6

System.out.println(a.eggNumbers);//0

a.fly();//使用继承过来的方法

a.sqawn();//使用子类实现的方法

//2.创建蜜蜂类对象

Bee b = new Bee();

System.out.println(b.LEG_NUMBERS);//6

System.out.println(b.eggNumbers);//200

b.fly();//使用继承过来的方法

b.sqawn();//使用子类实现的方法

b.makeHoney();//使用子类的特有功能

}

}

//1.创建抽象父类

abstract class Insect{

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值