–什么是面向对象的编程:
--OOP(Oriented Object Programming):面向对象
--面向过程思想:
步骤清晰简单,第一步做什么,第二步做什么……
--面对过程适合处理一些较为简单的问题。
–什么面向过程:
提出问题,分解问题,一一解决问题
–类:(class),类别
在Java中,使用class关键字定义类
|-- 属性
类的固有特征
|-- 行为和动作
函数function(方法 method)
–对象:(object),一个类别中的具体案例(实例:实实在在的案例):
如何定义类
在java中,定义类,使用class关键字
访问修饰符 class 类名称 {
}
–如何创建对象
// 定义类,在根据类来创建对象
// 可以通过类的构造方法来创建对象,使用new关键字
类型 对象名称 = new 构造函数();
Scanner sc = new Scanner(System.in);
Random random = new Random();
–如何操作【访问、设置】属性和方法
对象名称.xxxx
对象.属性 // 访问对象的属性
对象.属性 = 值 // 设置对象的属性的值
对象.方法(实参列表); // 调用对象的方法
–类的属性的默认值问题
在java中,如果定义类的使用,存在属性,但是没有给属性赋值,
java会给定默认值。
8中基本数据类型的默认值:
整型:0
浮点型:0.0
char:' '
boolean:false
对象:null
–重写toString()
该方法在打印对象的时候,会自动
–类的初始化 – 构造方法
构造方法:
访问修饰符 类名称() {
}
--在java类中,如果没有自己定义构造函数,系统(JVM)会自动生成一个无参的构造,
--方便我们构建一个属性都为默认值的对象。
--但是当我们定义了一个构造函数之后,系统(JVM)将不再自动生成一个无参的构造,
--如果需要这个无参,需要自己定义。
构造函数的作用:
初始化属性!!!!
this指针问题:
在java中,存在this关键字,这个关键字默认会指向当前对象
static关键字:
static关键字可以修饰非常多的东西(如:属性、方法、类、语法块、导包)
|-- static可以修饰属性
|-- static可以修饰方法
|-- static还可以修饰类,注意,只能修饰内部类
|-- 静态导包
|-- static静态代码块
static修饰的代码,会提前加载到内存中,并且只有一份,属于该类,
因此:
静态方法中,无法直接调用非静态函数(属性)
被static修饰的属性和方法,不属于对象,属于该类
直接可以使用类名称.属性(方法)来调用。
–类的成员:
属性
方法
构造方法
静态属性
静态方法
构造代码块
静态代码块