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

运行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;
    }
}
  • 注意:静态初始化块只在加载类的时候加载一次,且只能初始化静态变量的值,不能初始化普通变量。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,718评论 0 11
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,545评论 1 51
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 612评论 0 0
  • 每日推荐: 每日一歌――松隆子《花样》 每日一影――李莲雨《热血青春》 每日一诗――王维《竹里馆》 独坐幽篁里...
    萨拉芯雪阅读 630评论 0 0