java面向对象内容总结03

(面向对象第三章已经总结完了,下一章我们将结束面向对象的学习)

17.final

1.被final修饰的变量不可以被改变,又称为常量
2.被final修饰的方法不可以被重写
3.被final修饰的类不可以被继承
final总结就是不可变

package www.scy.cn;
public final class ZuanShi(){//被final修饰的类不可以被继承
	public final void mai(){//添加final
	System.out.println("我要买钻石");
	}
	final int a = 10;//添加final
	public static void main(String []args){
	ZuanShi zs = new ZuanShi();
	//zs.a = 20;添加final的变量不可以被改变,也成为常量
	}
}
package www.scy.cn;
public class BaoGeLi extends ZuanShi{
	//public final void mai(){被final修饰的方法不可以被重写
	//System.out.println("我要买钻石");
	//}


 
}

18.抽象

抽象:现实中不存在的东西
在Java中:只声明,不实现

抽象方法:使用abstract来修饰,不可以有方法体,直接用分号(;)结束即可
抽象类:如果一个类中有抽象方法,这个类必须是一个抽象类
特点:
1.抽象类不可以创建对象
2.抽象类的子类,必须重写父类中的抽象方法,否则,子类也是抽象类
通过抽象类可以强制的要求子类中必须有哪些方法
小知识点:抽象类中可以有正常的方法

package www;

public abstract class Animal {
    
    public abstract void eat();
    
    public abstract void dong();
    public void smell(){
        System.out.println("我在smell");

    }
}

package www;

public class Cat extends Animal{

    public void eat() {
        System.out.println("小猫吃鱼");
    }

    public void dong() {
        System.out.println("小猫爬树");
    }
}
class Test{
    public static void main(String[] args) {
        Animal c = new Cat();//这里是多态性
        c.dong();
        c.eat();
        c.smell();
    }
}

19.接口

①.接口实际上是一种特殊的抽象类

②.接口中所有的方法都是抽象方法,不可以有正常的方法。

③.接口使用interface来声明

④.类只能单继承,接口支持多实现,

⑤.接口同样具有多态性,

⑥.接口可以把很多不相关的内容进行整合.
特点:
1.接口中所有的方法都是抽象方法,都是公开的
2.接口中所有的变量都是全局静态常量

/**
能继承接口的只能是接口
接口和类只能是实现关系 implements

*/
public interface valuble{//接口使用interface来声明,已经不再是类了
//.接口中所有的方法都是抽象方法,可以省略abstract,
//接口中所有的内容都是公开的公共的
	 void getMoney();//接口中所有的方法都是抽象方法,不可以有正常的方法。
	}
public class Gold implements valuble{
//必须实现抽象方法
	public void getMoney(){
	System.out.println("黄金可以换钱");
	}
}
public class Test{
	public static void main(String[] args){
	Gold g = new Gold();//接口一样具有多态性
	}
}

小练习:

使用前面所学内容进行练习数据库的增删改查。

package com.oop.practice3;

public interface IDAO {
    void connect();
    void add();
    void del();
    void upd();
    void sel();

}
package com.oop.practice3;

public abstract class AbstractDao implements IDAO {
    //void coo
    @Override
    public void add() {
        System.out.println("增加");
    }

    @Override
    public void del() {
        System.out.println("删除");
    }

    @Override
    public void upd() {
        System.out.println("修改");
    }

    @Override
    public void sel() {
        System.out.println("查询");
    }
}
package com.oop.practice3;

public class MySqlDao extends AbstractDao{
    @Override
    public void connect() {
        System.out.println("mysql的链接。。。");
    }
}
package com.oop.practice3;

public class OracleDao extends AbstractDao{
    @Override
    public void connect() {
        System.out.println("链接oracle");
    }
}
package com.oop.practice3;

import java.util.Scanner;

public class client {
    public static void main(String[] args) {
        System.out.println("请问您要连接那个数据库(1,Mysql,2,Oracle)");
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        IDAO dao;
        if (n == 1){
            dao = new MySqlDao();
        }else{
            dao = new OracleDao();
        }
        dao.connect();
        dao.add();
        dao.del();
        dao.upd();
        dao.sel();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值