多态,抽象类,接口
来源:互联网 发布:家具进销存软件 编辑:程序博客网 时间:2024/05/19 22:00
多态
结果
子类
测试类
接口IUsb
1.方法的重载
public class Overload {public static void main(String[] args) {Overload ol = new Overload();System.out.println(ol.add(1, 2, 3));System.out.println(ol.mul(2.3f, 3.2f, 1.3f));}public int add(int a,int b,int c){int d = a+b+c;return d;}public double add(float a,float b,float c){double d=(double)a*b*c;return d;}}
结果
69.567999593257904
方法的重载的重载应用在同一个类的内部
方法的返回类型不能作为区分重载的条件
构造方法和普通方法都可以重载
2.方法的重写
父类
public class Person {public void speak(){System.out.println("父亲说。");}}
子类
public class Son extends Person{public void speak(){System.out.println("儿子说。");}}重写应用在子父类继承关系中,是指子类提供了和父类相同的方法,包括方法的名称,参数列表,返回类型。
重写的原因:父类的条件不能满足子类,需要重写一个方法来满足自己,重写的主要是方法体的内容
但是子类的重写父类 的时候子类的访问修饰符要大于等于父类访问的范围,否则编译的时候会报错
抽象类
public abstract class Animal {private float pi = 3.14f;public abstract void eat();public void sleep(){System.out.println("动物会睡觉。");}public Animal(){}}
public class Cat extends Animal{public void eat() {System.out.println("猫喜欢吃鱼。");}}
测试类
public class test {public static void main(String[] args) {//Animal a = new Animal();//实例化报错了Animal b = new Cat();b.eat();}}
1.抽象类关键字 abstract
2.抽象类中可以有非抽象方法,有抽象方法的类一定是抽象类
3.抽象方法没有方法体
4.当子类继承抽象父类后,必须重写父类的抽象方法,除非子类也是抽象类
5.抽象类中的抽象方法不可以被private final修饰 抽象类也不可被private,final修饰
6.抽象类中的变量可以是私有的,抽象类中可以有构造方法,抽象类不能被实例化
接口
接口A
public interface A {}
public interface B {}
接口IUsb
public interface IUsb extends A,B{ public final static double PI = 3.14;public abstract void write();}
实现接口IUsb
public class Udisk implements IUsb{@Overridepublic void write() {System.out.println("Upan写数据。");}}
1.接口关键字 interface 接口类名称第一个字母一般都是大写I表示
2.接口可以实现多继承 ,弥补了继承的单根性
3.接口中的方法只能用 public abstract 修饰 接口中的变量是public static final 修饰的 即接口中的属性都是静态常量
4.接口中的方法都是抽象方法,没有方法体。实现接口用implement关键字实现,当一个类实现了接口必须重写接口中的抽象方法,除非此类是抽象类
5.接口中没有构造方法。
阅读全文
0 0
- 多态,抽象类,接口
- 抽象类、接口、多态
- 多态、抽象类、接口
- 抽象类 接口 多态
- 多态、抽象类、接口
- 多态,抽象类,接口
- 抽象类 接口 多态
- 多态,抽象类,接口
- 抽象类 接口 多态
- 多态 抽象类 接口
- 多态,抽象类,接口
- 多态-抽象类-接口
- 多态/接口/抽象类
- 继承、多态、抽象类、接口
- 接口,抽象类,继承,多态
- 5 多态 抽象类 接口
- 继承,抽象类,接口,多态
- 继承、多态、接口、抽象类
- Windows下Redis的安装使用
- 快速幂1004
- C语言编写smtp用户代理之代码综合和管理
- Linux 磁盘扩展添加新分区+常用du
- dfs终极入门题
- 多态,抽象类,接口
- Android hdpi ldpi mdpi xhdpi xxhdpi适配详解
- plsql中如何向已有表中添加一列
- LeetCode 643. Maximum Average Subarray I
- 一起读源码之ThreadLocal
- Java Web里的请求转发和重定向
- 使用tcpdump 抓android手机的tcp upd http 等网络包
- Linux和Windows中获取动态库中某函数地址
- POJ 1611 The Suspects