1.(static)静态成员与实例成员
静态成员:1.依附于类。2.具有唯一性。3.加载时间更早,提前加载,静态成员不能直接访问实例成员。
实例成员:2.依附于对象。通过对象访问。
静态方法不得访问实例成员,实例方法可以访问实例成员。
2.构造方法
在一个类中,方法名与类名相同,不带返回值类型说明的方法。构造方法的修饰符必须是public。
3.重载(overload)
在一个类或形成继承关系的父子类中,有两个或多个方法,他们方法名称相同,形参列表(类型,数量,顺序)不同形成方法重载。
4.封装
属性封装:属性私有化;设计相关的公共getter和setter来达成对属性的间接访问。
逻辑封装:隐藏具体实现,提供对外方法接口供用户调用。
5.继承
构造方法不能继承。属性和其他方法能被继承。
6.重写
将多个类公共的方法和属性抽离出来形成一个类。
形成于继承关系(或接口的实现类)的父子类间,子类或实现类中出现于父类或接口同名,同参,同返回值,权限修饰符不能降低的方法。此时,子类方法主体会对父类的方法主体进行覆盖。
父类是私有方法子类无法重写。
父类构造方法子类不能重写。
7.多态
一个对象所表现出来的多种形态。多态的弊端是不能访问子类的特有功能。
8.final修饰符
类:被final修饰的类称为最终类,无法被继承。
方法:被final修饰的方法无法被重写覆盖。
变量:即常量,有且仅有一次赋值的机会。
9.集合的分类
1.单列集合
2.K-V集合(双列集合)
1.1Collection:无序,可重复,无索引。 add(Object obj),remove(Object obj),size(),clear(),addAll(This collection),removeAll(This collection)
1.1.1List:有序,可重复,有索引
1.1.1.1ArrayList:数组存储 遍历效率高,增删效率低
遍历:for(int i=0;i<;i++)
for(Integer item:items)
迭代器:.iterator
.foreach
.listIterator
1.1.1.2LinkedList:双向链表,增删快,遍历慢
1.1.2 Set:无需,不重复,无索引。
1.1.2.1HashSet:链表+数组+红黑树
遍历:for(num:nums)
迭代器
.forEach()
1.1.2.1.1LinkedHashSet: 外加一个双向链表,用来计数元素顺序特点:有序不可重复,无索引
1.1.2.2TreeSet:红黑树 查找与排序
10.值传递与引用传递
例:下面这段代码的输出结果为: