JavaSE(一)
方法与变量
1、类(java文件)的组成
①属性:姓名、身高、年龄
②方法:说话、跑步、计算
2、方法
语法:
访问修饰符 返回值类型 方法名(形参的类型 形参...){//方法体
语句;
return 返回值; //方法调用处
}
eg:
public int sum(int a, int b){
return a+b;
}
1.形参列表:表示成员方法的输入,比如:cal01 (int n), getSum(int num1, int num2)
2.返回数据类型:表示成员方法输出,void表示没有返回值
3.方法主体:表示为了实现某一功能的代码块
4.return语句不是必须的
注意:
方法需要对象.方法()调用
3、构造方法
特点:
1、名称与类名相同,无返回值类型修饰;
2、系统在创建对象时自动调用,主要完成对象的初始化工作
语法:
访问修饰符 类名(形参的类型 形参...){//方法体
语句;
}
作用:
new对象时调用,给属性赋值
注意:
①一个类默认就有无参构造
②若有了有参构造则不再生成无参构造
4、this关键字
是什么?
this可以理解为当前类的实例,可以用来调用:属性、方法、构造方法
什么时候用?
①this.属性
②this.方法(),一般可省略this,二般必须显式调用(构造方法)
5、重载(overload)
是什么?
一个类中方法名相同,方法的参数类型 和 个数不同(同名不同参)
为什么要有重载?
class Polygon{
//1. 求圆的面积
public void getYuanArea(){
}
//2. 求三角形面积
public void getSjxArea(){
}
//3. 求梯形的面积,传参 double bottom, double top,double hight
public void getTxArea(){
}
//4. 能不能在定义一个求长方行面积,传参double width , double hight
public void getCfxArea(){
}
}
此时,每次都要重新给方法起名字会造成代码污染,我们其实可以一个方法把所有图像的面积都求出来
6、值传递和引用传递
值传递 引用传递
基本数据类型 自定义(引用)数据类型
传递的是值的副本 传递的是引用地址
方法中对形参的修改,不会影响到实参 方法中对形参的修改,会影响到实参
7、局部变量和全局变量
比如放在类中叫全局变量(成员变量)
放在方法或代码块中叫局部变量
8、static关键字
静态变量
特点:
①随着类的加载而加载(类.属性),早于对象的创建
②在内存空间(方法区)中只有一份,被所有对象共享
静态变量和全局变量的区别:
静态变量 全局变量
声明方式 static修饰
访问方式 类名和对象(不推荐) 对象
对象是否共享 共享 不共享
静态方法
特点:
①随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
②静态方法中,只能调用静态的方法或属性,非静态方法可以调用静态和非静态的方法及属性
9、代码块
定义:代码块是介于 ”{” 和 ”}” 之间的一段代码,而且不用显示调用
作用:用于初始化类和对象的信息
非静态代码块
1.作用:可以在创建对象时,对对象的属性等进行初始化
2.随着对象的创建而执行,每创建一个对象,就执行一次非静态代码块
3.如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行
静态代码块
1.作用:可以对类的属性进行初始化操作
2.随着类的加载而执行,而且只执行一次
3.如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
代码块类别 简称 定义特点 执行特点
静态代码块 静态块 直接定义在类中,且有static修饰 JVM加载类的时候
构造代码块 构造块 直接定义在类中,没有static修饰 每次创建对象都执行
更多推荐




所有评论(0)