static 和构造方法

这篇具有很好参考价值的文章主要介绍了static 和构造方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

static

具体对象的属性,称之为对象属性,成员属性,实例属性。

具体对象的方法,称之为对象方法,成员方法,实例方法。

静态:static

  • 和具体对象无关,只和类相关的属性,称之为静态属性。
  • 和具体对象无关,只和类相关的方法,称之为静态方法。

静态属性和静态方法,不用实例化对象,可直接通过类来使用

先有类,再有对象。对象也可直接访问类的静态属性和静态方法。

  • 成员方法可访问类的静态属性和静态方法,也可访问成员属性和其他的成员方法。
  • 静态方法只能访问类的静态属性和其他静态方法,不能访问成员属性和成员方法。

构造方法

  • 构造方法没有 void 关键字
  • 构造方法的名称和类名完全相同
  • 如果类中没有显式定义构造方法,JVM 会隐式创建一个无参的构造方法。

执行顺序: 静态代码块 -> 成员代码块 -> 构造方法文章来源地址https://www.toymoban.com/news/detail-430376.html

内存中数据的存储方式

  • 元空间:存储的是类的结构信息、静态属性、静态方法、静态代码块。
  • 栈空间:存储的是变量。
  • 堆空间:存储的是具体对象的信息。

示例

class People {
    String name;
    String nationality = "china";
}

class Bird {
    // 成员属性
    String name;

    // 构造方法
    // 常用于成员属性的初始化操作
    Bird(String a) {
        name = a;
        System.out.println("构造方法 " + name);
    }

    // 成员方法
    void test() {
        System.out.println("成员方法 " + name);
    }

    // 静态属性
    static String type = "bird";

    // 静态方法
    static void fly() {
        System.out.println("bird can fly");
    }

    // 静态代码块:当类的信息加载完成时,会自动优先调用静态代码块。
    // 静态代码块可有多个,依次按顺序执行
    // 静态代码块常用于静态属性的初始化操作
    static {
        System.out.println("静态代码块");
    }

    // 成员代码块:当创建对象(实例化类)时,成员代码块会自动执行。
    // 成员代码块在静态代码块之后,构造方法之前执行。
    {
        System.out.println("成员代码块");
    }
}
People a = new People();
a.name = "jack";
System.out.println("name:" + a.name + " nationality:" + a.nationality);

// System.out.println(Bird.type);
// Bird.fly();
Bird b = new Bird("b1"); 

到了这里,关于static 和构造方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包