- return continue break区别 continue结束本次 继续下次循环 return用于终止方法的执行 用在循环语句中return break作用相似
- 了解封装的概念 不封装的时候又会有什么问题 private 例子
完成了封装属性的功能 但是太安全了 外部不能访问 所以要编写访问属性的方法 setter() getter()class Person //自定义一个类 { //定义属性 private String name; //定义姓名 private int age; //年龄 //private 私有的 外部不能访问 private String sex; //性别 } public class Test { public static void main(String[]args){ Person per1=new Person(); per1.age=-30; } }
可以正常的访问类的属性,想要程序赋值的时候进行控制则需要在setter方法中编写相应的控制程序class Person //自定义一个类 { //定义属性 private String name; //定义姓名 private int age; //年龄 //private 私有的 外部不能访问 private String sex; //性别 //为name属性设置setter方法 public void setName(String n){ name=n; } public void setAge(int a){ age=a; } public void setSex(String s){ sex=s; } //设置getter方法 public String getName(){ return name; } public int getAge(){ return age; } public String getSex(){ return sex; } }
public void setAge(int a){ if(a<0){ age=0; }else{ age=a; } }
- 构造方法 是在类实例化的时候对类中的属性进行初始化赋值的时候使用的.通过上述程序发现 实例化时会为类中的成员变量赋初始值,其实在赋值的时候默认调用类中的构造方法
- 编写构造方法要点 1 构造方法名称与类名称一致 2 构造方法没有返回值 3 类中默认存在一个无参的构造方法 4 如果用户自定义了构造方法则默认的构造方法失效 5 默认方法同样支持重载
- 匿名对象 在创建类过程中 对象 = null; 只声明了对象名称,并没有开辟空间; new 类名称() ; 匿名对象 只开辟了空间 没有栈内存的引用 匿名对象的意思就是对象只存在堆内存的空间中 没有栈内存空间的引用 对象使用了一次就不能再次使用 变为垃圾空间等待被gc回收
6 数组 Java中常见的数据结构 数组是引用数据类型 默认值null 使用数组管理变量方便
格式 数据类型 数组名称 [] = new 数据类型 [长度]; 给定长度说明数组长度是不可变的
分步完成:
数据类型 数组名称[]=null
数据名称[]=new 数据类型[长度];
7 数组不能越界 如果操作的数组的时候访问的下标超出了数组的范围,则会出现java.lang.ArrayIndexOutOfBoundsException
8 数组的引用传递 数组在Java中属于引用数据类型 会存在栈空间和堆空间 既然是引用数据类型 数组就可以进行引用的传递
9 数组的静态初始化 初始化的时候数组会开辟空间 给数组中的元素赋默认值 也可以使用静态初始化在开辟空间直接赋值
1 简写方式
数据类型 数组名称[]={值1,值2};
2 完整方式
数据类型 数组名称[]=new 数据类型[]{值1,值2};
10 Arrays 对数组支持的工具类 Java.util工具包
11 了解二维数组 定义二维数组的格式如下:
动态初始化
数据类型 数组名称[][]=new 数据类型[行][列];
数据类型 数组名称[][]={{123,},{456},{789}};
12 对象数组 初始化方式
动态初始化
类名称 数组名称[]=new 类名称[长度];
静态初始化
类名称 数组名称[]={实例化对象1,2,3}
对象数组 :数组汇总每个元素都是类的对象 赋值时先定义对象 然后将对象直接赋给数组就行了
下图 数组的引用传递