属性+方法 就构成了一个类
- 对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统,但是具体到微观操作,仍然需要面向过程的思路去处理
- 以类的方式组织代码,以对象的组织(封装)数据
- 封装、继承、多态
- 修饰符
- 返回类型
- break:跳出switch,结束循环 return结束方法,返回一个结果
- 方法名:注意规范,见名知意
- 参数列表:(参数类型,参数名)…
- 异常抛出
package com.oop;
import java.io.IOException;
import java.util.function.IntBinaryOperator;
public class Demo01 {//Demo01类
//main 方法
public static void main(String[] args) {
}
//return 结束方法,返回一个结果
public String sayHello(){
return "hello,word";
}
public int max(int a ,int b ){
return a > b ? a: b;
}
public void readFile(String file) throws IOException{//抛出异常
}
}
2.方法的调用
1.静态方法
package com.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
Student.say();
}
}
package com.oop.demo01;
//学生类
public class Student {
//静态方法
public static void say(){
System.out.println("学生说话了");
}
}
2.非静态方法
package com.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
//实例化这个类 new
// 对象类型 对象名 = 对象值
Student student = new Student();
student.say();
}
}
package com.oop.demo01;
//学生类
public class Student {
//非静态方法
public void say(){
System.out.println("学生说话了");
}
}
3.形式参数和实际参数
package com.oop.demo01;
public class Demo03 {
public static void main(String[] args) {
//实际参数和形式参数的类型要对应
int add = Demo03.add(1, 2);
System.out.println(add);
}
public static int add(int a , int b){
return a+b;
}
}
4.值传递和引用传递
package com.oop.demo01;
import org.ietf.jgss.Oid;
//引用传递:传递一个对象,本质还是值传递
public class Demo05 {
public static void main(String[] args) {
//实例化的过程
Person person = new Person();
System.out.println(person.name);//null
Demo05.change(person);
System.out.println(person.name);
}
public static void change(Person person ){
person.name ="名字";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name;//null
}
5.this关键字
三、对象的创建分析1.类与对象的关系
类是一种抽象的数据类型,他是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
对象是抽象概念的具体实例
- 类是对象的模板
- 使用new创建对象
package com.oop.demo02;
// 学生类
public class Student {
//属性:字段
String name;
int age;
//方法
public void study(){
System.out.println(this.name +"在学习");
}
}
package com.oop.demo02;
// 一个项目应该只存一个main方法
public class Application {
public static void main(String[] args) {
//类是抽象的,需要实例化
//类实例化后会返回一个自己的对象
//student 对象就是一个Student类的具体实例
Student xiaoming = new Student();
Student xh = new Student();
xiaoming.name = "小明";
xh.name = "小红";
xiaoming.age = 3;
xh.age = 3;
System.out.println(xiaoming.name);
System.out.println(xiaoming.age);
System.out.println(xh.name);
System.out.println(xh.age);
}
}
四、面向对象三大特性
五、抽象类和接口
六、内部类及OOP实战


