Java语言中声明数组时不能指定其长度(数组中元素的数),例如:inta[5];//非法
一维数组初始化:
数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。
对于基本数据类型而言,默认初始化值各有不同
对于引用数据类型而言,默认初始化值为null
数组的使用:
数组中涉及的常见算法:
int[] a = new int[]{1, 2, 3};
①for循环遍历
for(int i=0; i < a.length; i++){
System.out.println(“下标为”+ i + “的数组元素为” + a[i]);
}
②foreach遍历
for(int n : a){
System.out.println(n);
}
③Arrays.toString(a)。使用Arrays中的toString方法。
Arrays.sort(数组名);
编译时不报错
类和对象:
属性:成员变量|
行为:成员方法或函数
创建对象:类名 对象名 = new 类名();
访问对象成员(包括属性和方法):对象名.对象成员
类的访问机制:
在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(static方法只能访问static)
在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。
类的成员:
属性
在方法体外,类体内声明的变量为成员变量。
在方法体内部声明的变量为局部变量(局部变量除形参,都要显式初始化)。
对象属性的默认初始化值:
方法
概念:方法(函数或过程)是类或对象行为特征的抽象,用来完成某个功能操作。
将功能封装为方法的目的是,可以实现代码重用,简化代码。
Java方法不能存在,所有方法必须定义在类内。
方法中只能调用方法或属性,不可以在方法内部定义方法。
重载:在同一个类中允许存在一个以上的同名方法,与返回值类型无关,只看参数列表,且参数类别必须不同(参数个数或参数类型)。调用时,根据参数列表的不同来区别。
方法参数的值传递机制:
构造器(构造方法)
特征
作用
创建对象,给对象进行初始化
注意
Java语言中,每个类至少有一个构造器。
默认构造器的修饰符与所属类的修饰符一致。
一旦显式定义了构造器,则系统不再提供默认构造器。
一个类可以创建多个重载构造器(参数列表不同)。
父类的构造器不可被子类继承。
代码块
作用:对java类或对象进行初始化
静态代码块:用static修饰的代码块
1.可以有输出语句。
2. 可以对类的属性、类的声明进行初始化操作。
3. 不可以对非静态的属性初始化。即:不可以调用非静态的属性和方法。
4. 若有多个静态的代码块,那么按照从上到下的顺序依次执行。
5. 静态代码块的执行要先于非静态代码块。
6. 静态代码块随着类的加载而加载,且只执行一次。
非静态代码块:没有static修饰的代码块
内部类
this是什么?
使用this,调用属性、方法:
在任意方法或构造器内,如 果使用当前类的成员变量或成 员方法可以在其前面添加this。
当形参与成员变量同名时, 如果在方法内或构造器内需要 使用成员变量,必须添加this来 表明该变量是类的成员变量。
使用this访问属性和方法时, 如果在本类中未找到,会从父 类中查找。
使用this调用本类的构造器:
必须声明在第首行;
在类的一个构造器中,最多只能声明一个“this(形参列表)”
this():调用本类中无参构造器、this(形参列表):调用有参数的构造器。
lpackage语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。它的格式为: package 顶层包名.子包名 ;
包的作用:
为使用定义在不同包中的Java类,需用import语句来引入指定包层次下所需要的类 或全部类(.*)。import语句告诉编译器到哪里去寻找类。
语法格式:import 包名.类名。
静态导入包:inmort static 包名.类名.方法名
MVC是常用的设计模式之一,将整个程序分为三个层次:视图模型层,控制器层,与数据模型层。这种将程序输入输出、数据处理,以及数据的展示分离开来的设计模式 使程序结构变的灵活而且清晰,同时也描述了程序各个对象间的通信方式,降低了程 序的耦合性。
在java类中使用super来调用父类中的指定操作:
注意:
调用父类的构造器:
This和super的区别
Final可以修饰类,成员方法,变量
Final修饰的类不能被继承
修饰符 final class 类名{
}
Final不能修饰构造方法
Final修饰的方法不能被重写,可以被继承
Final修饰的变量表示常量,只赋值一次,且赋值后不改变:
使用范围:在Java类中,可用static修饰属性、方法、代码块、内部类
被修饰后的成员具备的特点:
类方法:
代码块:
1.匿名代码块:直接在{}中写,在构造器之前加载执行
2.静态代码块:static {},跟类同时加载,最先执行。且只执行一次。
3.构造器
单例设计模式:
优点:
封装:将数据声明为私有的(private),再提供公共的方法:get(),set()实现对该属性的操作。
权限修饰符:
为什么要有继承?
作用:
子类继承了父类,就继承了父类的方法和属性。
在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。但子类不能直接访问父类中私有的成员变量和方法。
Java只支持单继承和多层继承,不允许多重继承
对象的多态性:父类的引用指向子类的对象(可以直接应用在抽象类和接口上)
父类类型 变量名 = new 子类类型();
Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。
instanceof操作符:
x instanceof A:检验x是否为类A的对象,返回值为boolean型。
对象类型转换:
定义:在子类中可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。当程序执行时,子类方法将覆盖父类的方法。
要求:
注意:
子类与父类中同名同参数的方法必须同时声明为非static的(即为重写),或者同时声明为 static的(不是重写)。因为static方法是属于类的,子类无法覆盖父类的方法。
==:
equals():
tostring()方法:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务