• 第7章(下)--类的完善


    1.成员方法注意事项和细节:

      

    2.方法重载:

    java中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致
    比如:System.out.println();   out是PrintStream类型

    3.可变参数:

    1)      可变参数的实参可以为0个或任意多个。

    2)      可变参数的实参可以为数组。

    3)      可变参数的本质就是数组.

    4)      可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后

    5)      一个形参列表中只可能出现一个可变参数

    4.创建java自定义类步骤总结

    1)      定义类,确定类名

    2)      编写类的属性

    3)      编写类的方法

    4)      创建对象,使用方法。

    5.属性和局部变量作用域

    1) 在java编程中,主要的变量就是属性(成员变量,全局变量)和局部变量。A类:sum

    2) 我们说的局部变量一般是指在成员方法中定义的变量。

    3) java中作用域的分类
        全局变量:也就是属性,作用域为整个类体 A类:sum sub 等方法使用属性 
        局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中!

    4) 全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值。

    5)接收到的形参是局部变量。

    6.作用域的注意事项和细节

    1) 属性全局变量和局部变量可以重名,访问时遵循就近原则

    2) 在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名。[举例]

    3) 全局变量,存储在堆中。局部变量,存储在栈中,需要画一个示意图说明。【重要】

    4) 全局变量,生命周期较长,伴随着对象的创建而创建,伴随着对象的死亡而死亡。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而死亡。即在一次方法调用过程中。【每调用一次方法,就开一个方法栈,这个是由操作系统决定的】

    5) 作用域不同
           全局变量:可以被本类使用,或其他类使用(通过对象调用)
           局部变量:只能在本类中对应的方法中的作用域内使用

    6) 修饰符不同
           全局变量可以加修饰符
           局部变量不可以加修饰符

    7.构造器

    构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

    [修饰符] 方法名(参数列表){

           构造方法体

    }

    • 说明:

    1)      构造器的修饰符可以默认

    2)      构造器没有返回值

    3)      方法名 和类名字必须一样

    4)      参数列表 和 成员方法一样的规则

    5)      构造器的调用有系统JVM 来调用

     8.构造器的使用方法和注意细节

    1) 一个类可以定义多个不同的构造方法,构造方法重载
    比如:我们可以再给Person类定义一个构造方法,用该方法来创建新对象的时候,只指定人名,不需要指定年龄。

    2) 构造方法名和类名相同

    3) 构造方法没有返回值

    4) 主要作用是完成对新对象的初始化

    5) 在创建新对象时,系统自动的调用该类的构造方法

    6) 如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造方法),比如 Person (){}

    7) 一旦定义了自己的构造方法,默认的构造方法就覆盖了,就不能再使用默认的无参构造方法,除非显示的定义一下,即:  Person(){};

    9.对象的创建流程分析

    1) JVM 机会加载类结构信息(Person.class)

    2) 在堆中分配空间(地址 )

    3) 对属性进行初始化

    3.1 默认初始化 age = 0 name = null

    3.2 显示初始化 age = 90 name = null

    3.3 使用构造器进行初始化 age = 20 name = "小倩"

    4)  将 堆中的对象的地址,返回给p

    10.this的基本介绍

     this : 哪个对象调用,this就指向该对象

    访问构造器:

     11.构造器重载案例


  • 相关阅读:
    ORACLE字符串函数
    Ubuntu14.04安装wineqq国际版
    phonegap学习笔记
    Android Studio 1.5.1
    CodeBlocks+Qt(MinGW)配置
    Java多线程之synchronized(五)
    Java多线程之synchronized(四)
    Java多线程之synchronized(三)
    Java多线程之synchronized(二)
    Java多线程之synchronized(一)
  • 原文地址:https://www.cnblogs.com/-xuewuzhijing-/p/13140298.html
Copyright © 2020-2023  润新知