类的组成
类是什么?
类是具有相同特性和行为的对象集合。
eg:
人类是一个类
其中,分为 四大人种:亚洲人种(黄种人)、高加索人种(白种人)、非洲人种(黑种人)、大洋洲人种(棕种人)
共同特性~~emmmm (坏笑) 当然都是人啦
至于行为的话,可以是说话,眨眼睛等等。
类由什么成分组成?
Java类由五大部分组成:
- 成员变量/Field域
- 方法(method)
- 构造器
- 代码块
- 内部类
定义语法格式
类:
[修饰符] class 类名 {….类体 …..}
eg:public class yun(){}
注意:类的修饰符可以是public、final 或省略这两个。类名只要是合法的标识符即可。
一个类里可以包含三种最常见的成员:构造器、属性、方法、代码块、内部类。
类可分为
-
外部类
-
内部类
- 静态内部类
- 非静态内部类
- 局部内部类
(1)至于内部类的话,只要A类是在B类里面定义的,那么A便是B的内部类。
(2)区分的是不是静态类的话,看有没有用staic修饰即可。
(3)局部内部类:
如果把一个内部类放在方法里定义,这就是局部内部类,仅仅在这个方法里有效。
局部内部类不能在外部类以外的地方使用,那么局部内部类也不能使用访部控制符和static修饰
成员变量
[修饰符] 属性类型 属性名 [=属性值];
eg: String nam=”yun”; 或 String name ; 此处默认值为null 后面再给name赋值 name = “落笔”;
此处应有局部变量。那么见名知意,就明白它们的命名规则都一样。不过大家的范围大小不同。
成员变量指的是在类范围里定义的变量;局部变量指的是在一个方法内定义的变量。
局部变量可分为:
- 形参
- 方法局部变量
- 代码块局部变量.
~~emmm此处见名知意吧(坏笑)
方法
[修饰符] 方法返回值类型 方法名(形参列表) {….方法体….}
eg: public static void main(String[] args ){}
方法中的修饰符可以是public ,protected,private,static,final,abstract,其中访问控制符(public ,protected,private)只能出现一个,abstract ,final 只能出现其一.
返回值类型可以是基本类型和引用类型,如果无返回值,要用void 来声明
形参列表,可以由零到多个组成,参数之间用逗号(“,”)隔开.
static 是一个特殊的关键字,译为”静态”,所有有static 修饰的叫类属性,类方法,类成员.
构造器
[修饰符] 构造器名(形参列表) {……}
修饰符可以是public protected private 构造器名字必须和类名相同,形参和方法的形参一样
构造器通常用来new对象。
注意: 静态变量以及非静态变量的区别
- 静态变量可以直接使用类名去调用,当然也可以通过对象去调用。
- 非静态变量只能通过对应引用进行调用。
- 静态变量不能访问非静态变量。如果,非要去访问的话,那么,只能 用对象去引用非静态成员。
- 静态变量在内存空间中只有一份,也永远只有一份。
- 非静态变量只要new出一个对象引用就会在内存中分配一份空间给它。
- 存放地点不一样,静态变量存放在栈空间。非静态变量存放在堆空间里
请说出作用域public,private,protected,以及不写时的区别
这四个作用域的可见范围如下表所示。
作用域 | 当前类 | 同一包 | 子类 | 全局 |
---|---|---|---|---|
public | √ | √ | √ | 公开 |
protected | √ | √ | √ | 子类 |
default | √ | √ | × | 默认 |
private | √ | × | × | 私有 |
类–>包–>子类–>全局 大–>小
说明:如果在修饰的元素上面没有写任何访问修饰符,则表示default。
只要记住访问权限由小到大依次是private → default → protected → public,然后再记住Java存在的4个访问范围,就很容易画出上面的表格了。
~