jianglilili / jianglilili/guodegang.github.io
Java类和对象知识点
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### 类和对象的关系
- [ ] **简单来说**:**类**是抽象的,是对对象的抽象
- [ ] **简单来说**:**对象**也是抽象的,是对客观事物的抽象。又是具体的,是类实例化的结果
- [ ] **抽象来说**:类与对象的关系就如模具和铸件的关系,类的实例化的结果就是对象,而对对象的抽象就是类,类描述了一组有相关特性(属性)和相同行为的对象
_**注意**:在Java语言中对象和实例事实上可以通用_
### 构造方法的特点:
- [x] 构造方法没有返回值
- [x] 构造方法的名称要与本类的名称相同
- [x] 构造方法没有数据类型
_**注意**:构造方法并不需要void关键字进行修饰_
### 构造方法的用途:
- [x] 构造方法是用来实例化对象的
- [x] 构造方法给属性设置初始值
_**注意**:构造方法是用来创建对象并进行初始化的_
### this关键字主要有三个应用
- [x] 调用本类中的属性,也就是类中的成员变量
- [x] 调用本类中的其他方法
- [x] 调用本类中其他构造方法,调用时要放在构造方法的首行
**this**
- 调用普通方法:this.方法名(参数);
- 调用构造方法:this(参数);
### super()与this()的区别:
子类可以调用由父类声明的构造方法。但是必须在子类的构造方法中使用super关键字来调用。
- [x] **相同点**:都是调用构造器,而且必须放在首行首句
- [x] **不同点**:super()是调用父类的构造器
this()是调用本类中其他构造器
### java中变量的形式以及它们的作用域
- [x] **实例变量(类的成员变量)**:class A{String name;} 这里的name就是实例变量,它的作
用域就是整个类。
- [x] **局部变量**:在一个方法的内部或者是{}中声明的变量;如果是在一个方法的内部声明的,
那么他的作用域就是整个方法;如果是在代码块中声明的,那么它的作用域
就是这个代码块。
- [x] **方法参数**:方法(包括构造方法)的参数,它的作用域是整个方法
- [x] **异常处理参数**:异常处理参数和方法参数很相似;catch(Exception e)中的e就是异常
处理参数,它的作用域就是紧跟catch(Exception e)语句后面的代码块
_**注意**:作用域决定了变量的可见性和周期_
### 类成员和实例成员的区别
**_类成员是指有static保留字修饰的成员变量和成员方法,实例成员不用static修饰_**
**实例成员**属于对象,创建了实例后才能通过对象访问实例成员变量和调用实例成员方法;
**静态成员**属于类,即使没有创建实例,也可以访问静态成员变量和调用静态成员方法;
**_实例变量与类变量的区别_**
- [ ] 不同对象的实例变量互不相同
- [ ] 所有对象共享类变量
- [ ] 通过类名直接访问类变量
**_实例方法与类方法的区别_**
- [ ] 在类方法中不能引用实例变量,而实例方法可以引用类变量和实例变量
- [ ] 在类方法中不能使用super和this关键字,而实例方法可以使用super和this关键字
- [ ] 类方法中不能调用实例方法,而实例方法中可以调用类方法
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.