一. 接口
多个类的公共规范
1. 定义
public interface +接口名
2. 注意
在接口中,定义的方法必须是抽象方法,但是 public abstract可以省略
3. 实现
public class implements 接口名
它的实现类必须实现接口的所有抽象方法,但是在JAVA1.8以后,可以用default来修饰方法,这样他的实现类就不必实现默认的方法乐。
4.成员变量
系统默认添加 public static default,也就是我们所说的常量,需要注意的时成员变量由于时常量,我们通常将变量名字母全部转化成大写。
二. 多态性
小明,是一个学生,同时也是一个人,拥有双重身份,所以我们就可以用人这一类来指向学生这个对象,这种形如父类引用指向子类,就称为多态性。
格式:父类名 变量名1=new 子类名();
1. 访问成员变量
- 直接通过对象名称访问(student.name)看等号左面(不考虑重写)
- 间接访问,看方法属于谁,则用谁(考虑重写)
2. 访问成员方法
看new的是谁优先用谁,编译看左,运行看右!
3. 多态性的好处
可以让等号的左边保持不变!仅仅是右边的变化
4.转型
- 向上转型:父类 变量名= new 子类()(类似自动类型转换)
- 向下转型:子类 变量名=(子) 父变量名(类似强制类型转换)
向上转型的优势是保证了安全
向下转型的优势是可以将父类对象还原为子类,这样就可以用子类的方法了!因为可以通过编译了。
5. instansof
判断以下前面的对象能否作为后面对象的实例,防止向下转型,出现错误。
例:animal instansof dog
三. final
用于修饰类、方法、局部变量、成员变量,意思都是保持不变。
1. 类
不能有子类,也就是太监类。
2. 方法
不能被覆盖重写
3. 局部变量,成员变量
都不能改变,区别的是成员变量必须手动赋值。
四. 种极限修饰符
五. 集合
在这里写集合的目的是为了复习以下今天学的知识,因为集合在JAVA中是一个非常重要的概念,在以后的学习中,我可能会单独开一个专题专门介绍一个集合的各种形式,在这里就简单介绍一个集合的有关概念。
1. 概念
什么是集合?其实在初中我们就接触到,它是容纳东西的概念(好像还有一个东西叫做容器,这个还没有复习到,了解)在日常生活中,我们的衣柜,药箱就可以说是一个集合,我们会得到许多不同的集合,有的容器可以直接往上堆,比如衣柜,没有条件的限制。而有些容器比如药箱就不能随便乱放东西,会要有条件的限制。在JAVA中,这些花里胡哨的集合都有一个相同的接口,那就是collection接口,在这个接口中,定义了大部分集合的抽象方法,我们可以在底层的集合中实现这些方法,这个我们就不用关了,因为有亲爱的程序员叔叔帮我们写好了!所以我们先介绍几种抽象的方法。
2. collection 中的抽象方法
实现形式:
ArrayList<String> people=new ArrayList<>();
System.out.println(people.isEmpty());
people.add("张三");
people.add("李四");
people.add("王二");
System.out.println(people);
people.remove("张三");
System.out.println("擅长后的集合为"+people);
3. 迭代器(iterator)
迭代器是专门来遍历集合的一个接口,由于它是接口,所以它自身不能实例化,要靠collection中的Iterator()方法来实现它。以下是代码实现。
Collection<String> col=new ArrayList<>();
Iterator<String> it=col.iterator();
col.add("小公");
col.add("小郭");
System.out.println(it.hasNext());
小结
学了三天啦,时间可真是快呢,不过马上也快到我的知识盲区了,明天也要打起精神!