- 面向机器: 程序 = 数据 + 指令
- 面向过程: 程序 = 数据结构 + 算法
- 面向对象: 程序 = 对象 + 信息
类定义格式:
[ ]中的是选择性填入
[修饰符关键字] class 类名 [extends 父类名] [implements 接口列表]
{
//类体的内容
}
如果一个类没有继承那么会默认继承Object
所有的类都是Object的子类
[修饰符关键字]
public 公共可见
private 类可见
protected 包和所有的子类可见
default 包内可见
权限大小: public>protected>default>private
- 并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
- 所有修饰符都可以修饰成员变量,方法成员,构造方法。
- 为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private.
- 修饰符修饰的是“被访问”的权限。
abstract 抽象的(只能被继承,不能被实例化)
final 不可变
static 静态的
类的主要成员:变量成员和方法
声明对象和创建对象
public class A(){
public static void main(String[] args){
Scanner sc;// 声明对象
sc = new Scanner(); // 创建对象
Sanner sc = new Scanner();//声明创建一起完成
}
}
变量成员的定义格式
[修饰关键字] 类型 变量名
方法成员的定义格式
返回类型就是函数返回值所属的数据类型。
[修饰关键字] 返回类型 方法名([类型 参数名, 类型 参数名])
{
}
public class Point{
public static void main(String[] args){
}
int x,y;
void setX(int x){//这时候有2个x一个是变量x,一个是参数x
this.x = x;//前缀没有this的是参数,加this的是类的变量
}
int getX(){
return x;
}
//y也同理设置
}
类的构造函数
空的构造函数
public class Point{
int x,y;
public static void main(String[] args){
}
public Point(){//空的构造函数,不写编译器会自动写入
//构造函数不需要编写返回类型
//构造函数名称必须和类名相同
}
public void Point(){ //这只是一个和类名同名的方法而已
}
}
构造函数重载
public class Point{
int x,y;
public static void main(String[] args){
}
public Point(){//空的构造函数,不写编译器会自动写入
//构造函数不需要编写返回类型
//构造函数名称必须和类名相同
}
//对构造函数写了多个就叫构造函数重载
Point(int x,int y){//也可以public Point(int x,int y)
this.x = x;
this.y = y;
}
public void Point(){ //这只是一个和类名同名的方法而已
}
}
方法重载
public class Point{
public static void main(String[] args){
}
int x,y;
void setX(int x){
this.x = x;
}
int getX(){
return x;
}
//方法重载
void setX(int x.int y){//方法重载,传入的参数必须和同方法的参数不同才行
this.x = x;
this.y = y;
}