美文网首页学习随记
JAVA学习之类和对象篇(二)

JAVA学习之类和对象篇(二)

作者: 南三号 | 来源:发表于2017-08-23 18:16 被阅读12次

    运行Java程序,定义了很多类之后需要某个类作为入口类(相当于程序的入口),那个类里面会有一个入口函数:main函数,函数里写这个程序所要执行的代码。

    public class init{
      public static void main(String[] args){
        //写要运行的代码
      }
    }
    

    一.定义Java中的类(属性+方法)

    定义一个类名+编写类的属性+编写类的方法

    public class 类名{
      //定义属性部分(成员变量    属性1的类型  属性1;
      属性2的类型  属性2;
      //定义方法部分
      方法1返回值类型  方法1;
      方法2返回值类型  方法2;
    }
    

    二.JAVA对象

    1.创建对象:

    类名(对象类型) 对象名=new 类名( );
    HelloWord helloword=new HelloWord( );
    

    2.使用对象:

    引用属性:对象名.属性
    引用方法:对象名.方法
    

    三.成员变量和局部变量

    图片发自南三号

    作用域:

    • 局部变量:仅限于定义它的那个方法中,比如上图中方法一中的变量只能在方法一中使用
    • 成员变量:在整个类的内部都是可见的(类中共享)

    初始值:

    • 成员变量:自动拥有初始值0
    • 局部变量:不会有初始值,所以要给初始值
    • 特别注意
      同一方法不能有同名局部变量
      不同方法中可以有同名局部变量
      两类变量同名时,局部变量具有更高的优先级(就近原则)

    四.构造方法(有参和无参)

    • 无参的构造方法:当没有自定义构造方法时,系统会自动添加一个无参的构造方法,如果你觉得不满意,可以自定义无参构造方法。
    • 有参的构造方法:方便实例化对象的初始化(即对象属性赋合理初值)。传值不正确可以在构造函数中进行判断,避免传值不安全。
    • 特别注意:当你自定义了构造方法,系统就不会为你自动添加。如果你自定义了一个有参的构造方法,你就不能使用无参的构造方法,如果想要使用,则必须再自定义一个无参的构造方法。
    • 构造方法的重载:根据初始化值的不同要求,定义多个有参的构造函数。

    六.java中的static使用

    1.静态变量:

    类中的静态变量不是被某一个实例对象特有,而是所有对象共享,用对象名,类名都可以进行访问,推荐使用类名访问:

    public class HelloWorld {
        // 定义静态变量我的名字
        static String myName = "南三号";
        public static void main(String[] args) {
            // 访问静态变量,输出我的名字
            System.out.println(HelloWorld.myName);
        }
    }
    

    2.静态方法:

    性质及使用方法与静态变量类似
    用对象名或者类名调用静态方法

    public class HelloWorld {
        // 定义静态方法输出我的名字
        public static void print( ){
            System.out.println(“南三号”)
        }
        public static void main(String[] args) {
            // 访问静态方法,输出我的名字
            HelloWorld.print( );
        }
    }
    

    注意:静态方法能直接调用同类中的静态变量,但不能调用非静态变量。想要调用必须先实例化一个对象。
    而普通方法则都可以调用。

    3.静态初始化块

    • 执行优先级:
      静态初始化块>初始化块>构造函数
    • 代码示例:
    public class HelloWorld {
        int num1,num2;
        static int num3;
        // 构造方法
        public   HelloWorld () { 
            num1=1;
        }
        // 初始化块
        { 
            num2=2;
        }
        // 静态初始化块
        static   { 
            num3=3;
        }
    }
    
    • 注意:静态初始化块只在加载类的时候加载一次,且只能初始化静态变量的值,不能初始化普通变量。

    相关文章

      网友评论

        本文标题:JAVA学习之类和对象篇(二)

        本文链接:https://www.haomeiwen.com/subject/szxjdxtx.html