目录
什么是面向对象?
面向对象的本质是:以类的方式组织代码,以对象的组织(封装)数据
抽象
三大特性: 封装 继承 多态
从认知来看,先有对象后有类,对象是具体的事务,类是抽象的,是对对象的抽象。从代码运行角度来看,先有类后有对象,类是对象的模板。
1.回顾方法的定义
package com.demo1.Test;
import java.io.IOException;
public class Demo01 {
//方法的定义
public static void main(String[] args) {
}
/*
修饰符 返回值类型 方法名(...){
//方法体
return 返回值;
}
*/
//return 代表结束方法,返回一个结果
public String sayHello(){
return "hello,world";
}
//void 指返回值为空
public void shuchu(){
return;
}
public int max(int a,int b){
return a>b ? a : b; //三元运算符
}
public void readFile(String file) throws IOException{}
// 抛出异常 例如:Arrayindexoutofbounds(数组下标越界异常)
}
2.回顾方法的调用
3.回顾值传递与引用传递
创建与初始化对象
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化(null,0)以及对类中构造器的调用。
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
1.必须和类的名字相同
2.必须没有返回类型,也不能写void
设置主启动类Application:
package com.demo1.demo02;
//一个项目应该只存在一个main方法
public class Application {
public static void main(String[] args) {
//类: 抽象的 需要实例化
//类实例化后会返回一个自己的对象
//xiaoming(对象)就是一个Student类的具体实例
Student xiaoming = new Student();
Student xh = new Student();
xiaoming.name = "小明";
xiaoming.age = 13;//赋值
System.out.println(xiaoming.name);
System.out.println(xiaoming.age);
System.out.println(xh.name);//没赋值默认为null
System.out.println(xh.age);//默认为0
}
}
创建的学生类:
package com.demo1.demo02;
//学生类
public class Student {
//属性: 字段
String name;//null
int age;//0
//方法
public void study(){
System.out.println(this.name+"在学习");
//this代表当前这个类
}
}
我们可以创建一个主启动类,一个项目中只要一个主方法main放在主启动类中就行,和其他创建的类可以分开,利于区分查看修改。类是一个概括,抽象的,可以添加很多属性字段。对象则是一个具体的实例。