J-7 面向对象
形式参数
匿名对象
封装
构造方法
成员方法
成员变量
基本类的标准代码写法
五、形式参数
-
基本类型:形式参数的改变不影响实际参数
-
引用类型:形式参数的改变直接影响实际参数
-
方法的形式参数是类名时:
//形式参数是基本类型 class Demo { public int sum(int a,int b) { return a + b; } } //形式参数是引用类型 class Student { public void show() { System.out.println("引用类型"); } } class StudentDemo { //如果你看到了一个方法的形式参数是一个类(引用类型),这里需要的是该类的对象。 public void method(Student s) { s.show(); } } class ArgsTest { public static void main(String[] args) { //形式参数是基本类型的调用 Demo d = new Demo(); int result = d.sum(10,20); System.out.println("result:"+result); System.out.println("--------------"); //形式参数是引用类型的调用 //需求:调用StudentDemo类中的method()方法 StudentDemo sd = new StudentDemo(); //创建学生对象,对对象进行操作。 Student s = new Student(); sd.method(s); //把s的地址给到了这里 } }
六、匿名对象
-
没有名字的对象
-
应用场景:
①调用方法,仅仅调用一次。优点:匿名对象调用完毕就是垃圾,可以被回收。
②作为实际参数传递。class Student{ public void show(){ System.out.println("我是student"); } } class StudentDemo{ public void method(Student s){ System.out.println("我是studentDemo"); } } class NoNameDemo{ public static void main(String[] args){ //带名字的调用 Student s = new Student(); s.show(); //匿名对象 new Student().show(); //new Student().show();//这里是新创建的对象。 StudentDemo sd = new StudentDemo(); sd.method(new Student());//作为实际参数传递 //升级版 new StudentDemo().method(new.Student()); } }
七、封装
概述
- 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式。
- 优点:①隐藏实现细节;②提高代码的复用性;③提高安全性。
- 原则:不需要将对外提供的内容都隐藏起来;把属性隐藏。
- 测试类只创建对象,调用方法。
private关键字
- 权限修饰符。
- 修饰成员(成员变量,成员方法)。只能在本类中访问。
- 应用:把成员变量用private修饰,提供对应的set、get方法。
this关键字
- 当前类的对象名。
- 方法被哪个对象调用,this就代表哪个对象。
- 使用情况:
①解决局部变量隐藏成员变量;
②其他
八、构造方法
-
作用:给对象的数据进行初始化。
-
格式:
方法名与类名相同。
没有返回值类型。
没有具体的返回值。class Student{ public Student(){ System.out.println("这是构造方法"); } }
-
注意事项:
①如果我们没有给出构造函数,系统将自动提供一个无参构造函数。
②如果我们给出构造函数,系统将不再提供默认的无参构造函数。
如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出。
九、成员方法
- 分类:
①根据返回值:void类型,非void类型
②根据形式参数:空参方法,非空参方法。
十、成员变量:
- 如果这个变量是用来描述这个类的信息时,该变量应定义为成员变量。
- 变量的定义:范围越小越好,用完及时回收。
- 初始化:
默认初始化
显示初始化
构造初始化
十一、基本类的标准代码写法
- 给成员变量赋值:
① setXxx()灵活性高
②构造方法。 - 输出成员变量值:
①getXxx()灵活性高
②通过调用show()方法。