面向过程---→面向对象
面向对象的特征:
1,封装:将独立单元或者多个数据进行整体封装,对内部的内容提供保护,提高代码的安全性
2,继承:继承主类,拓展更多的东西
3,多态:利用多态性技术可以调用同一个函数的函数实现完全不同的功能。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法)
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象
先有类后有对象,java中自带很多类,可以直接使用执行
语法:
权限修饰符 类型 class 类名{
构造代码块
静态代码块
成员变量
静态变量
构造函数
成员函数
静态函数
继承来的函数
}
在java中,尽量一个.java文件中包含一个类,类名和文件名要相同,文件名同名的类要是public类型的
成员变量:对象特有的属性
语法格式:权限修饰符 数据类型 变量 = 值
成员变量有默认的初始值,也可以显示初始化,为安全隐私考虑,成员变量一般为私有pravite
成员变量初始化过程:默认➡️显示(默认和显示初始化都是在创建对象的过程中进行的)
成员函数:对象的特有行为
语法格式:权限修饰符 返回函数类型 函数名(参数列表){
函数体
}
成员函数中的参数是局部变量,只在该成员函数中起作用,当局部变量与参数变量重名时,用关键字this来区分,this表示当前对象的
成员函数一般是私有的,可以通过属性访问器和属性修改器来访问和修改
属性访问器:
public double getX(){
return x;
}
属性修改器:
phnlic void setX(double x){
this.x=x;
}
成员变量和局部变量的区别:
生命周期:
成员变量随着对象产生而产生,随着对象的消杀而消失
局部变量随着函数的的进栈产生,随着函数的出栈消杀
储存位置:
成员变量储存在堆中
局部变量储存在栈中
初始化:
成员变量有默认初始化,初始化的过程为 默认➡️显示
局部变量必须先初始化,再进行调用
调用范围:
成员变量在对象的全局范围内都可以调用
局部变量在函数的内部进行调用
构造函数:
构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。
构造函数的特点:
函数名与类名相同。
无返回值,不代表没有return,在构造函数中return仅仅代表函数弹栈
编译器自动调用对应的构造函数。
构造函数可以重载。
无参构造函数(可写可不写,若写系统默认的就没了)
public gzhs(){
。。。。。。。。}
含参构造函数
public gzhs(double x){
this.x=x;}