5初级 - Java程序的基本结构

199 阅读3分钟

java最基本的结构

包和class的概念

  • class是最小单位,相当于砖
  • 包相当于把砖打包
  • 每个类都处在包中,Cat就处在 my.cute中,包的名字由目录结构所决定
  • 约定包的名字由当前文件相对于包来决定

Java语言的基本结构-包的意义

  • 全限定类名(FQCN-Full Qualified Class Name)的意义-jvm眼里的类都是补全路径的,防止命名冲突
  • 在同一个类中,存在不引起歧义的情况可以简写

比喻的方式理解类

  • 类就是一个人,包相当于一个部门

全限定类名

  • 全限定类名(Fully Qualified Class Name,FQCN)是唯一标识一个类的完整名称,包含类所在的包路径类名,格式为:包名.类名。它的核心作用是避免命名冲突,并帮助JVM或开发工具准确定位类。

java.lang下面的类可以直接去用,不需要引用

方法、静态方法与静态成员变量

  • 复习:java程序最基本的结构是类,用类构建java程序的大厦,类好像一个个的砖头
  • 每个类的类名和文件名相同,每个类有一个包,不通的包下有个同名的类,包的结构和目录的结构严格对应
  • 什么是方法
  • 什么是静态方法:这个方法不依附于任何一个对象,就是一个函数,可以直接调用,不需要用对象
public class Main {
  public static int f(int x) {
      
  }
}

  • void不反回任何东西
public static void g() {
      
}

函数的调用栈

1.png

  • 函数只是说明书,声明了做什么
  • 调用的时候才会执行

静态成员变量

  • 类的成员,持续存在的

对象、构造器与成员变量

  • 类只是一个说明书
  • 构造器就是一个特殊的方法
package com.github.hcsp;

public class Cat {
    // static int i
    // 静态成员变量 不和 任何对象相绑定

    // 成员变量
    public String name;
    // 加入你没声明任何的constructor构造器

    //     编译器会自动帮你生成一个

    //     Cat() {}
    public Cat() {

    }

    public Cat(String name) {
        this.name = name;
    }
}

  • 创建两只猫对象
package com.github.hcsp;

public class Main {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.name = "张三";
      
        Cat cat2 = new Cat("李四");
    }
}

实例方法与空指针异常

  • static关键词表示和任何对象不相关
// 方法没有和任何对象绑定的话,不能访问对象里面的名字,因为名字和猫的对象绑定
  public void meow() {
      System.out.println("喵,我是" + name);
  }

包、类、静态方法、实例方法、静态成员、实例成员总结

  • 包可以想成文件夹,再降低一个层次类,再降低一个层次,四种
  • 第一种静态(成员)变量,static int i
  • 第二种静态(成员)方法,public static void,用的时候Math.square
  • 第三种:实例变量,public String name;,和对象绑定
  • 第四种: 实例方法 ,没有static声明,构造器也是特殊的实例方法而已,和对象绑定
  • 没有static都是实例方法,

对象与引用详解