大家好,今天带大家继续来学习Java中的面向对象,笔记详细适合新手学习,总共分三次学习完哦~
目录:
● 对象与引用
● this关键字
● static关键字
● 代码块
● 包
● 访问权限修饰符
● 封装
一、对象与引用1.Java 语言中除基本类型之外的变量类型都称之为引用类型。
2.Java中的对象是通过引用对其操作的。
例如:
我们有一个自定义类为Car(汽车类)
class Car{
String color;
String name;
String model;
}
Car bm= new Car();
通常把这条语句的动作称之为创建一个对象,其实,它包含了三个动作:
①.左边的“Car bm”创建了一个Car类型引用变量。
②.右边的“new Car()”,是以Car类为模板,在堆空间里创建一个Car类对象。
③.=”把bm指向刚创建的Car对象。
也可以把这条语句拆成两部分:
Car bm;
bm= new Car();
两个实体:一是对象引用变量,二是对象本身。
3.如果把对象Car比作一个气球,那么bm就是这根气球的线,而new Car是气球本身。
4.值传递与引用传递:
值传递:(形参数类型是基本数据类型)。
引用传递:(形参数类型是引用数据类型参数):也称为传地址。
区别:基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象
本身 。
二、this关键字1.this关键字代表当前对象
2.使用this关键字引用成员变量
3.使用this关键字引用成员方法
三、static关键字1.static被称为静态,可以用来修饰类的属性,方法,代码块,内部类。
• 随着类的加载而加载
• 优先于对象存在
• 修饰的成员,被所有对象所共享
• 可不创建对象,直接被类调用
2.static属性:
所有对象共享的,即不管创建了多少个对象,静态属性在内存中且只有一个。
比如中国人的国际都是一样的,将country变量使用static修饰,修饰所有的中国人对象,共享的数据,使用static修饰之后在内存中就只有一份修饰。
3.没有被static修饰的成员变量,属于对象的,使用对象进行访问。
4.静态的特点:随着类的加载而加载,只有一份,类加载后就可以直接使用了,在方法区存储。
优先于对象存在,先加载类,而后创建对象。
5.static可以修饰成员方法,修饰后的成员方法中只能访问静态的成员变量。因为静态方法也是随着类的加载而加载,类加载后,不一定创建了对象。
四、代码块1.定义:代码块在类中声明,类似一个没有名称的方法体(代码块),代码分为实例代码块(非静态)和静态代码块。
实例代码块在每次创建对象(new)时自动执行。
静态代码块在类第一次被加载时自动执行。
2.实例块:每次创建对象时自动调用。
{
//任何符合语法的Java代码
}
静态块:类加载时自动调用,仅一次,与是否创建对象无关。
static {
//任何符合语法的Java代码
}
3.使用类:类名.静态变量.方法/创建对象.触发类的加载。
类中元素加载顺序(从上向下):
①.静态的
②.成员变量
③.示例代码块
④.构造方法
⑤.成员方法
五、包1.包:用来管理类,用于为类当做命名空间(地址)。
(全类名=包名+类的简称)
import用来导入其他包中的类,同包中使用不需要导入。
在java中java.lang包中的不需要导入,可以直接使用。
2.包的作用:
①.避免类重名。
②.按照不同功能管理类 公共的功能,数据库交互的功能,与前端交互的功能。
③.控制访问权限。
3.包的命名规范:
在包名中,可以使用.号来区分包的级别;包名一般情况下是小写 。
第一级 指该项目的类型,如com,org,gov等
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei 等
第三级 指项目的名称,如:bcms,oa,erp,cms等
第四级 指项目模块的名称,如:bean,action,exception等
六、访问权限修饰符1.访问权限修饰符
1)public :公共权限 修饰类、属性、方法。可以被任意类访问。
2)protected:受保护的权限 修饰属性、方法。
可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问。
3)default:同包权限 修饰类、属性、方法。只能被同包的类访问。
4)private:私有权限 修饰属性、方法。 只能在本类中访问。
这四种访问权限修饰符也都可以修饰内部类。
七、封装1.封装广义:多次验证账号密码是否正确,抽取一个check().封装(包装)。
2.面向对象语言三大特征:封装、继承、多态
面向对象语言中的封装——是对类中的信息进行隐藏(访问权限),不让外部知道类中有哪些信息(成员变量、方法)。



