1.ArrayList 库的操作
- 引入库
import java.util.;*
- 创建
ArrayList<type> ArrayName = new ArrayList<type>();
- 加入元素
type VariableName= new type();
ArrayName.add(VaruableName);
- 查询大小
ArrayName.size()
- 查询特定元素 返回bool
ArrayName.contains(Value)
- 查询特定元素位置
int idx=ArrayName.indexof(Value);
- 判空
ArrayName.isEmpty();
- 删除
ArrayName.remove(Value)
- ArrayList会自动调整大小
2. 布尔表达式
短运算符:&&,||
长运算符:&,|
长运算符用于对两侧的函数进行位的与(或)运算
3.类需使用完整名称
- 使用import
import java.util.ArrayList;
- 只要用到就打出全名
java.util.ArrayList<type> ArrayName= new java.util.ArrayList<type>;
- 特别的,java.lang内的类不需要完整名称或import,比如String.System
4.继承
- 继承下来的方法可以覆盖,但实例变量不能覆盖
- final可以让类无法被继承
- 继承不能降低存器权限
- 写法:extends
public class Canine extends Animal
5.多态
- 引用类型可以是实际对象类型的父类
Animal[] animals=new Animal[5];
animal[0]=new Dog();
animal[1]=new Cat();
- 参数返回类型也可以多态
- 抽象类 abstract 不需要初始化
abstract public class Canine extends Animal
6.接口
- 作用:用于解决多重继承的问题
- 写法:
public interface className{ //class用interface代替
public abstract void funtion1(); //方法必须为abstract
public abstract void funtion2();
}
public class sonClassName extends fatherClassName implements className{
public abstract vod funtion1(){...};
public abstract vod funtion2(){...};//必须实现接口的方法
7.子类调用父类方法
- 在子类中使用super关键字
整理总结:
由于学过c++,反而在继承以及多态上有点混淆。对于c++,有以下几点
- 使用虚函数才类似于java的多态的覆盖效果.
- 使用纯虚函数才类似于java的abstract函数
- c++支持多继承而java不支持,需要通过接口实现
- c++对于指针(引用)和对象有很明确的划分,实例化对象时要写成
className * a=new className()
而java直接写成className a=new className()