• [java]类


    JAVASE知识点4:方法(包括一些常用类的方法),break,for循环及其变体,foreach,及练习_大岛君的博客-CSDN博客

     

    学到了

     一、类

    1、说明

    1)类是JAVA语言最基本的单位

    2)类的声明

    1. 访问权限 修饰符 class 类名{
    2. 实体
    3. }

    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】当成员变量和局部变量重名时

    访问时采用就近原则,但应尽量避免成员变量和局部变量重名。

    1. public class Test {
    2. static int a=1;
    3. public static void main(String[] args) {
    4. System.out.println(a); //1
    5. int a=2;
    6. System.out.println(a); //2
    7. }
    8. }

    【6】静态成员

    静态的成员变量和竟然方法都属于类,需要访问的时候用

    类名.的方式来访问

    二、方法

    1、类中方法的格式

    1. 访问权限修饰符 其他修饰符 返回值的类型 函数名称(函数列表){
    2. 方法体;
    3. }

    2、访问权限修饰符

    这里只说两个:

    【1】public

    【2】default不需要显示的写出来。如果没有添加任何的访问权限修饰符,那么它就是默认权限default。

    3、return

    1)说明

    用于结束整个方法。return每次只能返回一个值给函数。

    2)遇到分支结构

    如果自定义的函数中有返回值,并且在方法中遇到了分支结构,则需要在每一个分支后面都需要出现一个return。

    1. static int f(int num1,int num2){
    2. if(num1>num2) {
    3. return num1; //仅仅只有这个会报错
    4. }
    5. return 0;//添加后正常运行,没有实际意义,只是为了匹配
    6. }

    3、函数的参数用...表示数组,但是该变量必须放在参数表最后

    1)...作为参数和普通数组作为参数的区别

    4、实参、形参

    1. public class Test {
    2. static void f(int a,int b){ //a、b为形参
    3. System.out.println(a+" "+b);
    4. }
    5. public static void main(String[] args){
    6. int a=1;
    7. int b=2; //a、b为实参
    8. f(a,b); //调用函数:实参给形参赋值
    9. }
    10. }

    三、作用域

    1、public修饰的变量、方法、类,可以在任何地方被调用。

    2、默认权限(不写)修饰的变量、方法、类,只能在同包下被调用。

    3、静态方法    能  直接调用 静态方法     和  静态变量

    4、静态方法 不能 直接调用 非静态方法  和  非静态变量

    5、非静态方法  能 直接调用  静态方法     和  静态变量

    6、非静态方法  能 直接调用  非静态方法 和  非静态变量

    7、同一个类中的静态方法和变量在同一块内存空间

    8、可以在一个函数中调用一个函数,但不能在一个函数中声明一个函数。

  • 相关阅读:
    private static final long serialVersionUID = 1L的作用是什么?
    JS进阶第一篇:手写call apply bind
    我的 Kafka 旅程 - broker
    csdn添加表格
    图的dfs遍历
    Linux:vi和vim编辑器
    【JavaSE】Set接口--深入源码解读HashSet与LinkedHashSet
    element ui 里面只能输入input 数字 +限制长度
    大数据必学Java基础(一百一十一):过滤器注解应用和开发案例
    云原生应用的安全现状分析
  • 原文地址:https://blog.csdn.net/qq_35896718/article/details/127691759