一位数组:
1 获取数组长度:数组名.length();
2 数组的默认值:如果是数字类型,默认为0。如果是boolean类型默认为false
字符字符串类型?NULL。字符类型?‘0’。
3 遍历输出循环输出数组内部元素?
for(double d:myList)
{
System.out.println(d);
}
变量 d的类型要和数组内部元素的数组类型相同。
数组名为:myList
4 二维数组的声明:
1.数组类型 数组名[][]
2.数组类型[][] 数组名
3.数组类型[]数组名[]
一 . 构造方法:
1一个类中可以有一个或者多个构造方法。
2如果没有定义任何构造方法系统会自动产生一个构造方法,无参且方法体为空。
二 继承:
1.java支持单继承,也就是一个类只能有一个父类(每人一爹原则)
2.子类自动继承父类的方法和变量。并且可以修改父类的方法,变量。
还可以添加新的方法和变量。
3.extends该关键字进行继承
4.如果该类没有说明父类,则默认是java.lang.Object的子类。
5.字段的隐藏与方法的覆盖:子类新建与父类同名的变量或者方法,则父类的方法或者变量被隐藏。
6.覆盖常用@Override来注记,标记一下。
三 方法的重载:
1.方法的输入的个数或者输入的类型不同,但是方法的名称相同。
2.能不能通过方法的返回值类型判断是不是重载?不能。
四 super的使用:
1.与this相似,不同在于super,在于访问父类的变量或者方法。而this用于访问这个同个类中的变量。
2.由于子类不能继承父类的构造方法,所以子类在建造构造方法的时候可以用super来调用父类的构造
方法来扩充子类构造方法。
3.如果子类想要调用父类的构造方法,则必须放到子类中的第一句。
五 父类对象与子类对象的转换
1.可以用父类创建一个子类的对象,但是不能用子类去创建一个父类
Person p = new Student();这是对的,因为是学生肯定是人。
Student s= new Person();这是个错的,因为一个人不一定是个学生。
六 包package:
1.用import 导入包
2.表示所有包的内容
3.java中将会自动导入java.lang这个包。
七 访问修饰符:
修饰符分为两类:访问修饰符和其他修饰符
1.private 权限:同个类中
默认 :同个类和包中
protected :同类同包,和不同包的其他子类访问
public :所有
2类的前面只能是public 或者默认,不能用private。
3 如果一个包是默认,也就是其他的包中不能访问,如果该包中有public的变量,
该变量也不能被访问,原因在于包的时候就已经受限制啦。(两层受限制)
4 setter 和getter
一般来说字段(类中的成员变量)通常用private修饰,用于更好的封装和隐藏,
而用setXXX方法和getXXX方法来对他进行存取,这样保证外部类不能随意改变。
八 其他修饰符
1.static 静态的(非实例的,是类的),可以访问成员或者类
它们是类的字段,不属于任何一个对象的实例。
它不保存在摸个对象的实例内存中,而是保存在类的内存区域的公共单元中中。
因为这个原因,static 可以表示一个全局变量。
static 方法:
1.由于static是修饰整个类的,所以他不能处理某个对象的成员变量。
只能处理整个类中的成员变量,也就是说static类只能处理类中公共区域的部分。
2.static方法中不能访问实例变量,即不能用this 和 super。
解释:static是类方法,在类的加载的时候就已经存在啦,而this是对象,需要后来传入值,
先后顺序原因,因此不能用this 而super是其他类,static不能超出本类。
调用该方法时可以直接用类名+方法名,直接进行调用。例如:Integer.parseInt();
final 最终的 ,类,成员变量,局部变量。
修饰类:表示该类不能被继承。
修饰方法:表示该方法不能被子类改写。
修饰变量:只能赋值一次值,不能再次修改。
如果一个变量用 static final 修饰 那么表示一个常量。(因为与对象无关并且不能被修改)
例如:Math.PI;
如果定义了static final变量并且没有赋值,则他初始化相当于一个变量初始化0 0.0 0.00 false
abstract (抽象的) ,修饰类或者抽象的方法。
:抽象类不能被实例化,不能被new ;
:c 抽象方法:(变量啦,方法啦啥都没有),只有一个分号。
:抽象类中可以有抽象方法。
九 :接口:
1.接口的定义:interface(所有的方法都是 public abstract)
2.可以实现多继承。(接口可以多个继承只能一个)