zoukankan      html  css  js  c++  java
  • Java 类和Static关键字

    类的定义

    • 类的命名。首字母大写
    • 大括号后面没有分号

    成员变量

    • Java会自动初始化成员变量但是不会自动初始化局部变量;
    • 可以在定义成员变量是直接初始化,成员变量的作用范围在整个类体

    对象的创建和引用的概念

    • 在main函数里创建一个对象要使用new语句,new语句创造的东西都在堆内存中,因为堆内存可以动态分配。但是我们实际上是new了一个对该对象的引用变量(在栈内存),他指向堆内存中new出来的对象。堆内存中的对象才是真正的对象。这个引用和c/c++中的指针很类似。
    • 用图说明

    构造方法

    • 构造方法没有返回值,且名字与类名相同
    • 当不写构造方法时,系统会自动添加一个默认构造方法。一旦定义了其他的构造方法,系统就不会添加默认构造方法。

    方法重载

    • 返回值和名字相同,参数类型或数目不同的两个或多个方法。且编译器不会混淆。

    this关键字

    • this一般出现在方法的定义中,对哪个对象调用该方法,this就指向这个对象。this是一个引用。可以处理形式参数和成员变量重名的情况:
    class Test
    {
            int a;
            int b;
            Test(int a,int b)              //参数和成员变量重名
            {
                this.a=a;
                this.b=b;
            }
    }
    

    static 关键字

    • static变量存在数据区,哪怕不new对象,static变量也会在数据区存在一份。
    • static声明的的变量是该类成员的公共变量。不单独属于某一个对象。只存在一份!
    • 即便没有对象也可以用“类名.”来访问静态成员。
    • main方法中的static的含义:不用new对象就可以执行main方法。
    • 静态方法不能访问非静态成员,非静态成员只能new一个对象来访问。比如在main方法中调用一个类的非静态成员就会出错。
    • 非静态方法是针对于每个对象进行调用,必须实例化类的一个对象才能调用非静态方法。
  • 相关阅读:
    js中点击空白区域时文本框与隐藏层的问题
    嗨翻C语言
    人工模拟获取latch
    如何JOPtionPane的showConfirmDialog对话框button设置监视器
    本机Ajax异步通信
    Project Euler:Problem 28 Number spiral diagonals
    Maven软件项目管理工具
    第一个打击木马病毒查杀007一片:反向熊猫的分析(下一个)
    Redefine:Change in the Changing World
    不一致的文件编码读取和写入文件乱码解决方案
  • 原文地址:https://www.cnblogs.com/031602523liu/p/7820715.html
Copyright © 2011-2022 走看看