面向对象
- 其本质:以类的方式组织代码,以对象的组织(封装)数据
- 抽象
- 三大特性:
- 封装
- 继承
- 多态
- 从认识角度:先有对象后有类,对象是具体的事物,类是抽象的,是对对象的抽象
- 从代码运行角度:先有类后有对象,类是对象的模板
回顾方法及加深
-
方法的定义
- 修饰符
- 返回值类型
- break:跳出switch, 结束循环
- return:结束方法,返回一个结果
- 方法名
- 参数列表:(参数列表, 参数名)···
- 异常抛出
-
方法的调用
-
静态方法:static 可直接通过 类名.方法名调用。
package com.oop.demo01; public class Demo02 { //静态方法 static public static void main(String[] args) { //非静态方法 //需要实例化这个类 new //对象类型 对象名 = 对象值; //new Student().say(); Student student = new Student(); student.say(); } //带有 static 的是和类一起加载的 public static void a(){ //b(); } //类实例化之后才存在 public void b(){ } }
-
非静态方法
-
形参和实参
package com.oop.demo01; public class Demo03 { public static void main(String[] args) { //实际参数和形式参数的类型要对应 //int add = new Demo03().add(1, 2); // System.out.println(add); int add = Demo03.add(1, 2); System.out.println(add); } public static int add(int a, int b){ return a+b; } }
-
值传递和引用传递
package com.oop.demo01; //引用传递:传递对象, 本质还是值传递 public class Demo05 { public static void main(String[] args) { Person person = new Person();//new 实例化 = 创建一个对象 System.out.println(person.name);//null Demo05.change(person); System.out.println(person.name); } public static void change(Person person){ //person是一个对象:指向的--->Person person = new Person();这是一个具体的人,可以改变属性 person.name = "覃"; } } //定义了一个person类,有一个属性:name class Person{ String name;//null }
-
this关键词 : 当前这个对象或当前这个类
-