【Java概念】类组成结构、成员变量、成员方法(5)

来源:互联网 发布:淘宝运营应该怎么做 编辑:程序博客网 时间:2024/06/06 00:21

类:

package cn.hncu.program.class_;/** * 项目名:进入Java世界的第一个类 ---HelloWorld * 时间 :2017-9-10 下午5:23:28 *//* * 1.世间万物皆对象 * 2.我们在Java 里的全部工作就是定义类、制作那些类的对象以及将消息发给那些对象。 * 3.类中包含两部分: *      成员变量(字段)、成员方法(方法) * 4.成员变量:是一种对象(通过它的句柄与其通信)可以为任何类型,也可以是主类型。 *          如果成员变量是指向对象的一个句柄,则必须初始化那个句柄,用一种名为 *          “构建器”的特殊函数将其与一个实际对象连接起来(使用new关键字); *          如果成员变量是一种主类型,则可在类定义位置直接初始化(句柄可以在 *          定义位置初始化)。 * 5.成员方法:方法的基本组成部分包括名字、参数列表、返回类型以及主体。 *          基本形式为:返回类型 方法名(自变量列表 ) { 方法主体 }。 *          返回类型:是指调用方法之后返回的数值类型。返回值的类型必须兼容接收者的类型。 *          方法名:是对具体的方法进行标识和引用。 *          自变量列表:列出了想传递给方法的信息类型和名称。 * 6.每个对象都为自己的成员变量保有存储空间。 * 7.成员变量的默认值: *      Boolean false , Char '\u0000'(null) , byte (byte)0  *      short (short)0 , int 0 , long 0L , float 0.0f , *      double 0.0d ,引用类型的默认值为null。 * *Java中的名称[标识符]: *1.名称(names)用于引用Java程序中声明的实体。声明的实体是包、类型、类型的成员(域或者方法)、参数或者局部变量。 *2.简单名称(simples)是一种单个的标识符。 *3.限定名称(qualified)提供对包和引用类型中的成员的访问。限定名称由一个名称,一个“.”符号和一个标识符组成。 *4.标识符也用于声明中,在声明中标识符决定一个实体赖以被识别的名称/。 *5.标识符还用于域访问表达式和方法调用表达式,以及语句行号和使用语句行号的break,和continue中。 * * 8.class类格式: * class{ *   若干个变量---特征 *   若干个函数---行为 * } * * 9.一个源文件中,public的类最多只能有一个,可以没有public类。 *   如果一个类是public的,那么它的名字必须和文件名相同,包括大小写。 */public class HelloWorld {    /*定义成员变量*/    String name = "Hello World !";    int age = 20;    BirthDay birthday = new BirthDay();    /*定义成员方法*/    public void showInfo(){        System.out.println(name+","+age+","+birthday);    }    public static void main(String[] args) {        /*         * 创建一个对象,使用new关键字,如果要使用对象中的成员变量和成员方法用"."调用。         */        HelloWorld hw = new HelloWorld();        hw.showInfo();        /*         * 【static】关于静态方法与非静态方法的说明:         * 1.非静态的东西是对象的,因此要用:对象.方法名()         * 2.静态的东西是属于类的,因此要用:类名.方法名()         *          */        BirthDay birthday = new BirthDay();        birthday.toString();//非静态        BirthDay.showString();//静态    }}class BirthDay{    int year = 1970;    int month = 1;    int day = 1;    /*     * static关键字:     * 静态的东西是属于类的,非静态的东西是属于对象的。     */    public static void showString(){        System.out.println("1970-1-1");    }    /*     * 【覆盖方法】:     * 覆盖方法的访问权限不能低于父类,Object中的toString方法为public,覆盖方法权限也要public     */    public String toString() {        return "BirthDay [year=" + year + ", month=" + month + ", day=" + day                + "]";    }}

变量初始化、方法调用、引用传递、参数传递:

/* * 【变量初始化问题】: * 1.类的实例变量,系统会自动为其赋初值。 * 2.局部变量必须手动初始化后才能使用。 * 3.内部块中的信息,外部块是无法了解的。 *  * 【变量作用范围级别】: * 1.类级 * 2.对象实例级 * 3.块级 * 4.方法级 */class Test {      private static String name="Java学习";   // 1:类级      private int i;  // 2:对象实例级,Test类的实例变量      {   int j=2;   // 4:块级,属性块,在类初始化属性时候运行      }      public void test1(){          int j=3;// 3:方法级          if(j==3){                int k=5; // 4:块级          }        //这里不能访问块级的变量,块级变量只能在块内部访问          System.out.println("name="+name+",i="+i+",j="+j);      }      public static void main(String [] args){         Test t=new Test();    t.test1();      }}/* 【同一个类,在一个方法中调用另一个方法】:在同一个类中:对于静态方法,其他的静态或非静态方法都可以直接调用它。而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。【不同类间,在一个方法中调用另一个方法】:不同的类之间,无论调用方法是非静态还是静态,如果被调用的方法是:静态方法,则通过类名与对象都可以调(但通过对象的方式不建议使用,因为它属于非静态调用的方式)非静态方法,则只能通过对象才可以调用它【方法调用中的参数传递】:在Java中,只有基本数据类型和String型的参数是按值传递的,其他都是按引用传递的。【引用参数传递】:传递的是当前对象的引用。 */
阅读全文
0 1