JAVASE知识点4:方法(包括一些常用类的方法),break,for循环及其变体,foreach,及练习_大岛君的博客-CSDN博客
学到了
一、类
1、说明
1)类是JAVA语言最基本的单位
2)类的声明
访问权限 修饰符 class 类名{
实体
}
3)权限修饰符
只能是public或default(即不写)
2、类和所在文件
1)一个java文件中可以写多个类(编译器会生成多个.class文件)
2)一个Java文件中最多只能有一个被public修饰的类,这个二类的类名必须和JAVA源文件保持一致。
3)如果类不是public修饰的,类名和所在文件名可以不同。但是如果类是public修饰的,那类名必须和所在文件名相同。
4)写public主要为了避免一个文件中有多个类,但是无法找到含有入口(main)函数的类。如果一个文件中有多个类,在编译该文件的时候,会产生多个.class文件。一般一个文件放一个类,这样好维护。修饰.class只能允许类用public或不写修饰符(默认权限)修饰。
3、成员变量(也称为全局变量)
1)默认值
整型默认为0,浮点型默认为0.0,char为空格。boolean为false,引用类型为null。
2)成员变量和局部变量的区别
【1】定义的位置不同
成员变量:定义于类中,作用于整个类。
局部变量:定义于方法或语句中,作用于该方法或者该语句。
【2】内存中出现的时间和位置不同
成员变量:当对象创建时,出现在堆内存中。
局部变量:所属区域被计算时,出现在栈内存中。
【3】生命周期不同
成员变量:随着对象的出现而出现,随着对象的消失而消失。
局部变量:随着所属区域运算结束,它就被释放。
【4】初始化值不同
成员变量:成员变量因为在堆内存中,所以他有默认初始值。整型默认为0,浮点型默认为0.0,char为空格,boolean为false,引用类型为null。
局部变量:没有默认初始值。
【5】当成员变量和局部变量重名时
访问时采用就近原则,但应尽量避免成员变量和局部变量重名。
public class Test {
static int a=1;
public static void main(String[] args) {
System.out.println(a); //1
int a=2;
System.out.println(a); //2
}
}
【6】静态成员
静态的成员变量和竟然方法都属于类,需要访问的时候用
类名.的方式来访问
二、方法
1、类中方法的格式
访问权限修饰符 其他修饰符 返回值的类型 函数名称(函数列表){
方法体;
}
2、访问权限修饰符
这里只说两个:
【1】public
【2】default不需要显示的写出来。如果没有添加任何的访问权限修饰符,那么它就是默认权限default。
3、return
1)说明
用于结束整个方法。return每次只能返回一个值给函数。
2)遇到分支结构
如果自定义的函数中有返回值,并且在方法中遇到了分支结构,则需要在每一个分支后面都需要出现一个return。
static int f(int num1,int num2){
if(num1>num2) {
return num1; //仅仅只有这个会报错
}
return 0;//添加后正常运行,没有实际意义,只是为了匹配
}
3、函数的参数用...表示数组,但是该变量必须放在参数表最后
1)...作为参数和普通数组作为参数的区别
4、实参、形参
public class Test {
static void f(int a,int b){ //a、b为形参
System.out.println(a+" "+b);
}
public static void main(String[] args){
int a=1;
int b=2; //a、b为实参
f(a,b); //调用函数:实参给形参赋值
}
}
三、作用域
1、public修饰的变量、方法、类,可以在任何地方被调用。
2、默认权限(不写)修饰的变量、方法、类,只能在同包下被调用。
3、静态方法 能 直接调用 静态方法 和 静态变量
4、静态方法 不能 直接调用 非静态方法 和 非静态变量
5、非静态方法 能 直接调用 静态方法 和 静态变量
6、非静态方法 能 直接调用 非静态方法 和 非静态变量
7、同一个类中的静态方法和变量在同一块内存空间
8、可以在一个函数中调用一个函数,但不能在一个函数中声明一个函数。