类 是什么 ?
类是对一个物体的抽象出的共性,比如一个商品,包含的属性:商品名,商品价格,商品的来源地,商品的数量...
而这些属性都是都不同的数据类型构成的。
而如下图的代码块,则可以抽象出 一个 类出来
抽出来如图,以后再有这种描述商品时,则可以直接用这个类,创建出一个引用变量m1,对m1进行赋值操作。
类和对象
类 就是自己定义的一种新的数据类型,不允许类同名
对象是由类实例出来的(new 出来的),之后类中的每种变量都会赋以其类型的初始值
如何操作 类中的各个属性 通过点操作符来控制,类似于 “ 的 ”。
引用数据类型 的变量
// 假设现在有一个类 Demo
class Demo{
String name ;
int stuId ;
}
Demo stu = new Demo(); //此时实例化一个 stu 的对象
这个 stu 就是引用类型
stu 具有2级跳,它本身是一个地址,而你拿到这个地址能找到它对应的实例对象的地址,相当于锁中锁。
需要注意:
//有两个 实例化 对象
Demo m1 = new Demo();
Demo m2 ;
m2 = m1 ; //此时的m2 指向的地址m1一致
// 注意 m2 m1 的类型是一致的,若两者不一致,则不能赋值
数组在创建出来之后,会按 类型给数组中的每个元素 赋默认值
引用类型 的 默认值为 null
null 带来的问题 nullpointerException (NPE)
自定义类型一样使用类
public class Phone{
Screen screen; //自定义类型
Mainboard mainboard; //自定义类型
double price;
}
只要充当不同功能的属性就可以抽象为一个类。
Java 中 packagJe 管理
避免类太多 ,用 package 统一管理
一个类只能有一个package语句 而且只能是这个这个类中第一句有效代码
其实跟windows系统的文件夹系统管理一样,就是你给定一个具体的地址,然后机器去找,找到就能访问,否则就报错。
同一级目录下的类的成员变量能被其他同一级的类访问到,但是上下级目录,没有import 这个类,则会报错。
这里涉及到属性访问修饰符
被 public 修饰的属性,可以被任意包中的类访问
没有设定访问修饰符的,则作为缺省的访问修饰符,可以被包内的其他类和自己对象访问