java学习笔记第12天2018.09.14

本文深入探讨了面向对象编程中的核心概念,包括类、对象、继承、多态及接口的使用。通过具体示例,如创建Person、Student、Teacher类,并实现多态数组和接口,展示了如何利用接口定义规则并扩展类的功能。

Person
–Student
–Teacher
必须保证有age属性

要求:分别创建5个对象,person,student,teacher
根据这5个对象的年龄进行排序
p1 = 30
s1 = 45
s2 = 23
t1 = 35
t2 = 50

 数组:
    Person[] per = new Person[5]; //多态数组
    per[0] = new Student(23);  //多态
    per[1] = new Teacher(50);  //多态
    per[2] = new Person(30);   //本态

 排序:

 遍历数组:

接口:
特殊的类

修饰符  interface  接口名{

}

成员:
    常量: public static  final
    抽象方法: public  abstract
由于是用interface定义的,所以接口中成员都是有固定修饰符的,因此,如果漏写了哪个修饰符,编译器会自动补全。
接口中的成员都是公共成员。

特点:
1.不能实例化
2.接口必须有子类,子类实现(implements)接口,子类想要建立对象,子类必须将实现的接口中的方法全部实现(重写覆盖)

类与类:单继承
类与接口: 多实现
接口与接口: 多继承

class A  extends B  implements C,D{}

class A extends B{}
class B implements C,D{}

作用:
1.扩展继承体系中以外的行为
2.定义规则

abstract class  电子产品{
    abstract 开机();
    abstract 关机();
}

interface  游戏{
    abstract void 游戏(); 
}

class 手机 extends 电子产品 implements 游戏{
    void  开机(){}
    void  关机(){}
    public void 游戏(){}
}

class 电脑 extends 电子产品 implements 游戏{
    void  开机(){}
    void  关机(){}
    public void 游戏(){}
}

class 手环  extends 电子产品{
    void  开机(){}
    void  关机(){}
}

包:
package,相当于我们说的文件夹或者是目录
作用:
1.用于管理类文件
2.解决同名文件问题

语法:
package  包名;
位置:必须放在有效代码的最上边。
作用:告诉编译器,当前类要存放在哪里。
eg: package  com;
    public  class Demo{
    }
包名:
    1.包名全部小写
    2.格式: 公司域名倒置.项目名.模块名.[子模块名]*;
      package  com.ujiuye.cms.view;
      public  class Demo{
          }
     注意:如果类中声明了package语句,那么类名就有了限制,完整类名形式为:包名.类名

 带包编译:
    javac  -d 目录  源文件名.java  
 带包执行:
    java   包名.类名

import:
    导入
    import  包名.类名;  导入指定包中的类。
    import  包名.*;     导入指定包中的所有类。
    放在package下边 和声明类或者是接口的上边

Public protected 默认 private
同类 - - - -
同包 - - -
不同包子类 - -
所有 -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值