学习目标:
掌握面向对象的相关知识学习内容:
1、 对象与引用 2、 static 3、 代码块 4、 包 5、 访问权限修饰符学习时间:
2021年4月18日学习产出:
1、 技术笔记 1 遍 2、CSDN 技术博客 1 篇对象与引用
java中的数据类型:
基本类型: byte short int long … 简单类型
引用类型: 除了基本类型都是引用, 用类作为类型,数组 复杂类型 复合类型
引用类型变量不是持有对象本身,只是拥有对象的地址,通过地址间接访问对象.
java中进行方法调用中传递参数时,有值传递和引用传递两种
值传递
//参数类型为基本类型,就是将变量的值本身传递赋给了另一个变量public void test(int b){
System.out.println("b1:"+b);//10
b=20;
System.out.println("b2:"+b);//20
}
引用传递
//引用类型传递时并不是将对象本身传递,只是将对象引用地址传递,这样形参发生变化,实参也会发生改变,因为两个指向同一个对象
public void test(Dog dog){
System.out.println("dog1"+dog.name);
dog.name="旺财";
System.out.println("dog2"+dog.name);
}
static
static 修饰成员变量,方法,代码块,内部类
修饰的成员的特点:
• 随着类的加载而加载
• 优先于对象存在
• 修饰的成员,被所有对象所共享
• 可不创建对象,直接被类调用
static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用
在static方法内部只能访问类的static属性,不能访问类的非static属性,static属性先加载。
代码块
代码块在类中声明,类似一个没有名称的方法体(代码块),代码分实例块和静态块
实例块:每次创建对象时自动调用
{
//任何符合语法的Java代码
}
静态块:类加载时自动调用,仅一次,与是否创建对象无关。
static {
//任何符合语法的Java代码
}
代码块定义在类中,没有名称,分为实例代码块,静态代码块
代码块没有名字,怎么执行?
实例块在创建对象时调用,每创建一次对象执行一次
静态代码块在类被加载时被调用,只执行一次
类被加载时 第一次创建对象,使用类中的静态变量,静态方法
类中元素的加载顺序
先加载静态的,静态的内容按照先后顺序加载.
包
包从电脑文件系统的角度讲就是文件夹
从java程序的角度讲是类的路径.
作用:
按照不同的功能管理类 不同的模块 用户模块 部门模块 按照功能划分 数据链接, 工具类…
避免类重名
访问权限控制
java.lang包中的类在使用不需要导入,
使用其他包中的类时,需要使用import关键字导入.
访问权限修饰符
public 修饰类,属性,方法 公共权限 在任何位置都可以被访问
protected 修饰属性,方法 受保护权限 同包类 不同包的子类
(default) 修饰类,属性,方法 默认权限 同包类
private 修饰属性,方法,内部类 私有权限 本类