对象01:什么是对象 本质:以类的方式组织代码,以对象的组织(封装)数据
面向对象编程 OOP
面向过程:步骤简单,第一步做什么,第二步做什么...
面向对象思维:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类。面向对象适合处理复杂的问题,适合处理需要多人协作的的问题
三大特征:封装、继承、多态
对象02:回顾方法的定义以及加深 package oop;
public class Demo01 {
代码语言:javascript复制//main 方法
public static void main(String[] args) {
}
/**
* 修饰符 返回值类型 方法名(){
* //方法体
* return 返回值
* }
*/
public String sayHello(){
return "Hello World";
}
public void Hello(){
}
} 对象03:回顾方法的调用 静态传递:
package oop;
public class Demo02 {
代码语言:javascript复制public static void main(String[] args) {
//静态方法
Student.say(); //直接调用静态方法
}
//
} Student.java
package oop;
public class Student {
代码语言:javascript复制public static void say(){ //static 静态方法
System.out.println("学生说话");
}
} 实际参数和形式参数的类型要对应
package oop;
public class Demo03 {
代码语言:javascript复制public static void main(String[] args) {
//实际参数和形式参数的类型要对应
int add = Demo03.add(1,2);
}
public static int add(int a, int b){
return a b;
}
} 值传递
package oop;
public class Demo04 {
代码语言:javascript复制public static void main(String[] args) {
int a = 1;
System.out.println(a); // a = 1
Demo04.chang(a);
System.out.println(a); // a = 1
}
public static void chang(int a){
a = 10;
}
} 引用传递
package oop;
// 引用传递:对象本质还是值传递 public class Demo05 {
代码语言:javascript复制public static void main(String[] args) {
Persion persion = new Persion();
System.out.println(persion.name); //null
Demo05.change(persion);
System.out.println(persion.name); // 张三
}
public static void change(Persion persion){
//persion 是一个对象,指向---> Persion persion = new Persion();这是一个具体的人,可以改变属性
persion.name = "张三";
}
}
// 定义了一个Persion 类:有一个属性:name class Persion{
代码语言:javascript复制String name;
}