栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java方法

一个Java源文件只能有一个public类,且Java文件名必须和此类名一样。


静态方法是和类一起加载的,非静态方法只有在实例化之后才创建

静态方法

static修饰的方法,可以通过类名打点调用。

非静态方法

必须进行实例化之后,通过对象打点调用。


值传递
public class ClassTest {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);
        ClassTest.change(a);
        System.out.println(a);
    }
    public static void change(int a) {
        a = 10;
    }
}

程序输出:
1

再通过内存来观察:

public class ClassTest {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(System.identityHashCode(a));
        ClassTest.change(a);
        System.out.println(System.identityHashCode(a));
    }
    public static void change(int a) {
        a = 10;
        System.out.println(System.identityHashCode(a));
    }
}

程序输出:
460141958
1163157884
460141958


引用传递
public class ClassTest {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(System.identityHashCode(person.age));
        ClassTest.change(person);
        System.out.println(System.identityHashCode(person.age));
    }

    public static void change(Person person) {
        person.age = 10;
        System.out.println(System.identityHashCode(person.age));
    }
}
class Person {
    int age;
}

程序输出:
460141958
1163157884
1163157884


构造器

一个类里面即使什么都不写,也可以直接new一个对象

  • 使用new关键字创建对象的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中构造器的调用。
  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
    1. 必须和类名相同
    2. 必须没有返回类型,也不能写void
Java源文件
public class Person {
}
Java字节码文件
public class Person {
	public Person() {
	}
}
构造器的使用

快捷键:ALT + Ins

  • 使用new关键字,本质上是在调用构造器,用来初始化值
  • 一旦定义了有参构造,无参构造器就必须显式定义(好像可以不用显式定义,或许是JDK版本问题,也或许是老师讲错了。)
// 无参构造:
public class ClassTest {
    public static void main(String[] args) {
        Person Wwz = new Person();
        System.out.println(Wwz.name);
    }
}
class Person {
    String name;
    public Person() {
        this.name = "Wwz";
    }
}

// 有参构造
public class ClassTest {
    public static void main(String[] args) {
        Person Wwz = new Person();
        System.out.println(Wwz.name);
    }
}
class Person {
    String name;
    public Person() {
    }
    public Person(String name) {
        this.name = "Wwz";
    }
}

内存分析(狂神老师画)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/458732.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号