java基础之构造方法、数组
- 封装性就是保证内部类不被外部所见。
- 所有属性必须使用private封装。使用setter和getter方法获取和输出数据。
①类名称 ②对象名称 = ③ new ④类名称()
①类名称 : 规定了对象的类型,即对象可以用到哪些属性和方法
②对象名称:如果想要使用对象,需要有一个名字
④类名称():调用一个和类名称一样的方法,这就是构造方法。
为了保障程序的正常运行,即使用户没有建立构造方法,java也会在程序编译之后创建一个和没有参数和返回值类型的构造方法。(构造方法一直存在)
1.类对象实例化的时候设置属性初始化内容。构造方法是为属性初始化准备的。
2.如果一个类之中已经明确定义了构造方法,则不会在自动生成默认构造方法。类中至少存在一种构造方法。
3.构造方法没有返回值类型。包括void
4.构造方法重载
在构造方法的基础上对参数数量增加或者减少。(在编码过程中,构造方法重载循序参数升序或者降序)。
当存在多个构造方法时,用户可根据需求自由选择。
- 匿名对象:
真实的对象信息都保存在堆内存中,没有栈内存指向的对象称为匿名对象。
匿名对象只能使用一次.
三、数组(引用数据)
3.1数组的基本概念
声明并开辟数组: 数据类型 数组名称[] = new 数据类型[长度]
分步完成:(声明数组的时候使用[])
--声明数组 :数据类型 数组名称 [] = null;
--开辟数组:数组名称 = new 数据类型[长度]
3.2数组的访问
①当数组开辟空间以后,采用“数组名称[下标/索引]”的形式访问数组。数组下标从0开始。
②数组里面的数据以顺序的形式储存,采用循环的方式读取数据。
3.3数组的储存结构
对象中的堆内存保存的是属性,而数组中的堆内存保存的是一组数据。
3.4数组的引用传递
数组动态初始化:先开辟数组空间,而后为数组中的内容进行复制。
数组静态初始化:数组定义好的同时设置好了数组内容。
格式一(简化格式):数据类型 数组名称 [] = {a,b,c,....};
格式二(标准格式):数据类型 数组名称 [] = new 数据类型 [] {a,b,.}
data 指引的堆内存的数据传递给temp数组。
3.5 数组与方法参数的传递
①数组的传递
程序:
public class day01{
public static void main(String args[]){
int data[] = new int[]{1,2,3};
change(data);
for (int x = 0;x<data.length;x++){
System.out.println(data[x]);
}
}
public static void change(int temp[]){
for (int x = 0;x<temp.length;x++){
temp[x] *=2;
}
内存分析:
3.6数组的转置
例:数组{1,2,3,4,5,6,7,8}转置成{8,7,6,5,4,3,2,1}
第一次转置:8,2,3,4,5,6,7,1
第二次转置:8,7,3,4,5,6,2,1
第三次转置:8,7,6,4,5,3,2,1
第四次转置:8,7,6,5,4,3,2,1
转置次数:数据个数/2;
二维数组的转置
同行同列的二维数组转换:
第一次转置: 1 4 3 第二次转置:1 4 7
第三次转置: 1 4 7
Public static int[] init(){
return new int[]{1,2,3}
}
3.8对象数组
数组是引用类型,而类也同样是引用类型。对象数组表示一个引用类型里面嵌套了其他引用类型。引用数据类型也同样可以定义数组。这样的数组称为对象数组。