标签:就是 红孩儿 oop 语句 概念 括号 类型 导致 ble
在现实生活中,我们所理解的具有相同特性的归为一类,在 Java 语言中,也是如此。
我们对 相似的事物具有的属性
和行为
抽象出来,构建成一个类。
在 Java 中万物皆为对象
对象 也称作实例 ( instance )
对象是对类的一种实例,也是一种具体
将抽象的类实例化一个具体的个体 比如猴子类中 有金丝猴
在 java 中 通过 new 关键字调用构造方法 来对一个类的实例化
在 java 语言中 ,对象( object ) 和 实例( instance )都是指 new 类名(); 方式创建出来的 对象
类 是某一种事物的抽象 比如 人,动物,.....
对象 是 某种事物的一个具体的个体,比如 叫张三的 人 ....
实例化
访问字段 通过 对象名.字段名
来访问字段
调用方法 通过 对象名.方法名 ([参数])
来调用方法
所谓 对象名 就是指 相应类型的 的引用变量的名称
字段 本质上是一个变量 是属于类中的一个成员 ( member ) 因此也称作 成员变量
某一种事物的每个个体都具有的特征可以使用 字段来表示, 比如 某人的姓名、年龄、....
修饰符 类型 名称 [ = 初始值 ]
不能使用数字作为前缀
如果只有一个单词则全部小写 ( 注意规范 )
如果有多个单词则从第二个单词开始首字母大写 ( 注意规范 )
字段就是一个变量
这个变量可能属于类也可能属于实例对象
字段就是类的组成成员,因此被称作成员变量
类变量:有 static 修饰的成员变量
实例变量: 没有 static 修饰的成员变量
类变量:有 static 修饰的成员变量
实例变量: 没有 static 修饰的成员变量
在一个类中被 static 修饰的成员 是属于类的(不是属于个体的)
static 表示与类相关的(不是与实例相关的)
成员变量
类变量 有 static 修饰的成员变量
实例变量: 没有 static 修饰的成员变量
成员方法
类方法(也称作静态方法)
代码块
被 static 修饰的代码块 被称作为 静态代码块 (类初始化块)
被 static 修饰的代码块 用来完成对 类变量初始化
不论是 类变量 还是 实例变量,JVM 都会为他们赋予相对应的默认值
修饰符 返回类型 方法名称 ( 参数类型,参数名称..... ) { } throws 异常类型列表
方法时类的组成成员 因此被称作 成员方法
类方法
通过 “类名.方法名( 参数 )” 来调用【推荐】
通过 “对象名.方法名( 参数 )” 来调用【不推荐】
实例方法
通过 “对象名.方法名( 参数 )”来调用
1、一个带有 main 方法类是可以直接运行的,这样的类被称作 启动类
2、首次 【主动使用】 一个类时,将导致该类被初始化,类中的类变量也将初始化
3、所谓 【主动使用】 一个类包括很多情况,比如这里直接运行的一个启动类,或者创建一个类的对象
4、当一个类被初始化后即可反复使用,不会再次执行初始化操作【除非该类被卸载后重新加载】
5、static 代码块仅在首次主动使用一个类时,才执行一次
不论基本类型 还是引用类型的参数 在Java 语言中 都是 值传递 只不过引用类型传递的值时地址而已
方法的返回值类型 根据需要设定 当不需要返回值的时候 使用 void
同一个类中,存在多个同名不同参的方法时,这些方法就构成了 重载
同名不同参:
同名: 方法名称完全相同
不同参: 参数的 类型、个数、类型的顺序不同
package oop;
?
/**
* 1、方法的重载,
* 同一个类中存在多个同名不同参的方法时,他们之间构成重载 ( 重载是相互的)
* 所谓同名是指 方法名称完全相同
* 所谓不同参是指 构成重载的多个方法的参数类型、参数个数、参数顺序 不相同 ( 只要有其中一项不相同即可 )
* 重载 对 方法的 修饰符可以相同可以不同
* */
?
public class SikaDeer {
?
public int add(int a,int b) {
System.out.println("add(int,int)");
return a + b;
}
public double add(double a,double b) {
System.out.println("add(double,double)");
return a + b;
}
public double add(int a,double b) {
System.out.println("add(int,double)");
return a + b;
}
public double add(double a,int b) {
System.out.println("add(double,int)");
return a + b;
}
public double add(double a,double b,double c) {
System.out.println("add(double,double,double)");
return a + b + c;
}
?
public static void main(String[] args) {
SikaDeer sikaDeer = new SikaDeer();
?
?
int num = sikaDeer.add(100, 200);
System.out.println(num);
?
System.out.println("==========");
?
double num2 = sikaDeer.add(100.0, 200D);
System.out.println(num2);
?
System.out.println("==========");
?
double num3 = sikaDeer.add(100, 200D);
System.out.println(num3);
?
System.out.println("==========");
?
double num4 = sikaDeer.add(100.0, 200);
System.out.println(num4);
?
System.out.println("==========");
?
double num5 = sikaDeer.add(100, 200,300);
System.out.println(num5);