1.1 方法的参数传递,返回值
Java语言在给被调用方法的参数赋值时,采用传值的方式。
基本类型数据传递的是该数据的值本身。
引用类型数据传递的也是这个变量的值本身,即对象的地址(引用),而非对象本身。
1.2 基本类型和引用类型作为方法的返回值
基本类型返回的实际数据
引用类型返回的是对象的地址
- 封装
java语言的三个特点:
封装(encapsulation):对外部不可见,隐藏对象的属性和实现细节。
继承(inheritance):一个类继承另一个类的成员。
多态(Polymorphism):每个对象表现的多样性。
2.1 封装的概念:
在类中,对于不想被类外直接访问的成员变量,进行私有化,同时对外提供一个公
有的方法访问私有的成员。
封装成员变量两个步骤:
第一步: 添加private 修饰符
第二步: 添加get和set方法
2.3 set/get 语句
2.4 类的设计原则
成员变量(属性)私有化(用private修饰),添加get和set方法
公开方法(用public修饰)
3 static 关键字(只能修饰类成员,修饰成员变量和方法)
3.1 静态属性
所有本类对象所共有且相同的一个属性,是类的公用变量,不会随着对象的改变而改变的属性。
例如:圆周率。静态属性先于对象,不依赖于对象,可以直接通过类名直接访问(类名.属性
名)。
3.2 静态方法所有本类对象所共有且相同的一个公共方法,属于类方法,先于对象的方法,不依赖于对象,可
以直接通过类名直接调用(类名.方法名())。
使用静态属性和方法使用原则:
1如果这个变量或方法,不属于每个对象,属于整个类,就用静态
2如果这个对象只有一个,那么类中的属性和方法都用静态的,一般工具类中的方法静态 的 Arrays.
方法名()
使用注意事项:
1 静态方法中可以直接访问静态变量,不能直接访问非静态变量。
2 非静态方法中可以直接访问静态变量和静态方法。
3 静态变量存在方法区中静态域中
4.继承
1 先实例化父类对象
默认调用父类默认构造方法
2 再实例化子类对象
继承中不能被继承的成员:
1)私有成员:私有成员不能被子类继承
2)构造方法:父类中的构造方法不能被子类继承,但是会在子类的构造方法中调用(子类的构造
方法中默认第一条语句是调用父类的默认构造方法)
继承的特点:
1)单继承:一个子类只能有一个父类,一个父类可以有多个子类
2)传递性:继承具有传递性
- super 关键字:
用法和this相似
super表示当前父类对象的引用
使用规则:
1)super.属性:表示访问父类中的属性,当子类中定义了与父类同名的属性时,若想在子类中访
问父类的同名属性,需要使用super.属性访问
2)super.方法:表示调用父类中的方法,在子类中需要调用父类中没有被重写的方法时,需要使
用super.方法调用
3)super():表示调用父类的构造方法,注意:super()必须是子类构造方法中第一条语句
子类中构造方法默认第一条语句会调用父类的无参数构造方法super(),也可以手动调用父类中带
参数的构造方法
this和super的区别:
(1) this表示当前对象的引用,super表示当前父类对象的引用
(2) this.属性可以调用当前对象的属性包括继承的属性,super.属性可以调用父类的属性
(3) this.方法() 可以调用当前对象的方法包括继承的方法,super.方法()可以调用父类的方法
(4) this(参数) 调用本类中其他的构造方法,super(参数) 调用父类的构造方法
(5) this(参数)和super(参数)只能用在构造方法中,必须是第一条语句,只能调用一次,不能同时使用。
- 包的访问权限
包: 管理类的,解决类的命名冲突问题。
域名倒置+项目名
package com.qf.day09; 必须是第一句
导包
import java.util.*;
7.访问权限修饰符
public :公开的
protected:包含的
[default]:默认的
private:私有的
类可以用 public 或默认
成员变量和方法 四个都可以用
8.方法重写
重写规则:
1 在继承中,方法名、参数列表、返回值必须和父类的方法相同
2 访问权限不能比父类更严格
================================