`
Kslsi
  • 浏览: 22558 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

类与对象2(构造方法、方法重载等)总结

    博客分类:
  • java
 
阅读更多



         第三节课,我们还在学类和对象,可见类和对象的重要性啊。不过内容肯定不一样啊,理所当然的更难了。
        本节课的重点在构造方法(上节课重在普通方法)、方法(包括普通方法和构造方法)重载、this关键字、值传递、引用传递(内容好多啊,忙不过来啦~~~~(>_<)~~~~ )。

 一、构造方法
              1.语法格式:
                      public 类名(数据类型 形参名,...){
                                 //方法体
                       }


               2.构造方法与普通方法的区别:
                             1)返回值不同:构造方法没有返回类型,甚至没有void,也不能被static、final、synchronized、abstract和native修饰(百度的,现在基本都不知道是什么,不过以后会学的,先打个底);
                             2)方法名也不同:普通方法是我们自己命名,而构造方法则是类名做方法名。


                3.实例化对象的格式:类名 对象名=new 类名();

 

                4.用途:1)实例化对象;
                              2)给属性设置初始值。


                5.值得注意的是,Java中会给类提供一个默认的构造方法;如果在类中定义了构造方法,默认的就会被覆盖,我们也就不能再继续使用默认的构造方法了。

 eg:

 

       //无参构造方法

       public Fighter(){

       }//构造时,传入名字参数,初始化属性

 

       //有两个参数的构造方法

       public Fighter(String name,int blood){
             this.name=name;
             this.blood=blood;
        }

二、方法(构造方法和普通方法)重载


                1.实现重载的条件:

                         1)方法名字必须要完全相同;
                         2)方法所带的参数个数、参数类型、参数顺序,这三项中最少要有一个是不同的。
                2.调用:在调用过程中,系统会根据参个数、类型、顺序准确调用我们需要的方法。

                3.用途:我们在用同一种方法做同一件事但是要求不一样的时候,就得用到方法的重载,举个例子:安装电脑的时候,安内置摄像头与不安内置摄像头;敲代码实现同一个目标,用构造方法与不用构造方法……

eg:

 

       //定义Fighter与Boss对战的方法
       public void fire(Boss XD){
              XD.setBlood(XD.getBlood()-3);//获得Boss的血量   
              System.out.print(name+"向"+XD.getName()+"开火一次           ");
              XD.lose();//调用Boss的lose方法
              win();
              System.out.println(name+"攻击"+XD.getName()+"成功,血量加一,为"+blood);

        }
  
       //定义Fighter与Monster WM的对战方法
       public void fire(Monster WM){
              WM.setBlood(WM.getBlood()-3);
               System.out.print(name+"向"+WM.getName()+"开火一次 ,剩余血量为"+WM.getBlood()+" ");
               win();
              System.out.println(name+"攻击"+WM.getName()+"成功,血量加一,为"+blood+" ");

              }

 

三、this关键字
                1.this在类中用来指代当前对象,就是在所以的“人类”当中都可以有“我”这个字一样,具体到哪一个人看,这个“我”指的就是哪个。
                2.用途:解决变量的命名冲突和不确定性,this代表其所在方法的当前对象,在构造方法中指该方法所创建的新对象,普通方法中指调用该方法的对象;this关键字还可以在构造方法中调用自己的另外一个构造方法。

 

四、值传递

       值传递的形式参数类型是基本数据类型,方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。

eg:

      Boss XD=new Boss("毛毛",80);//实例化对象的时候将“毛毛”与80分别传给name与blood

 

五、引用传递

引用传递的形式参数类型是引用数据类型参数,也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。

eg:
       XD.setBlood(XD.getBlood()-3);// /定义Fighter与Boss对战的方法,引用传递,以获得Boss的血量

       此图形象地表示了值传递和引用传递:

 

六、个人心得:1.在编写的对战游戏中,因为一个对象和好几个对象fight,所以这里就会用到方法的重载。

                         2.在主函数中会调用其他类里面的方法(构造方法和普通方法),这时就会出现值传递和引用传递,或者在各个类互相调用的时候也会用到。

                          3.特别要注意this关键字的用途和用法。

       还是那句话,实践出真知,尤其是编程,代码是敲出来的,而不是看出来的,代码一定要自己动手敲!

 

  • 大小: 10.7 KB
分享到:
评论

相关推荐

    php5 类与对象

    php5 类与对象 个人总结与简单的例子,类与对象1. PHP 类与对象 2. PHP 类的继承 extends 关键字 3. PHP 构造方法 __construct() 4. PHP 析构方法 __destruct() 5. PHP final 关键字 6. PHP 类的接口 interface...

    java方法总结(重载,构造方法,调用方法)

    构造方法 方法的定义 在java中称为‘方法’,在C中称为‘函数’ java方法是语句的集合 用于执行一个功能 包含于类和对象中 可以被引用 方法的格式 访问权限 [修饰符] 返回值类型 方法名(参数列表){ ... 方法体 .....

    VB.NET面向对象的实现

    继承:实现基本的继承、阻止继承、继承与辖域、保护方法、重载方法、重载与 构造方法、创建基类以及抽象方法  4.共享或类成员:共享方法、共享变量  5.事件:共享事件、触发事件  6.界面:怎样使用界面  7.对象...

    个人java总结笔记

    通过Class 对象获得类的指定成员,构造方法 构造方法: Constructor 成员方法: Method 成员变量:Field Class对象.getConstructor(参数类型的Class对象 如 String.class); 获得指定参数的公共构造方法 Class对象....

    java基础补足和thinking In Java学习.rar

    1. 什么是方法重载:在同一个类中,方法名相同但提供的参数个数和类型不同的两个方法叫做方法重载。 需要注意的是(返回值类型不同是不构成方法重载的) 2. 构造器也是方法,同样可以被重载 5.3 默认构造器 ...

    《java面向对象程序设计-继承和多态》教案.doc

    super () 方法始终指向调用类的父类 调用父类构造方法 演示:示例 3 多态性 2-1 多态性是指¡°多种形式¡± 它使用不同的实例而执行不同操作 多态包括方法重写和方法重载 多态性 2-2 方法重载 2-1 方法重载 2-2 ...

    Java 基础核心总结 +经典算法大全.rar

    构造方法 方法重载 方法的重写 初始化 类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 ...

    Java 基础核心总结.md

    Java 基础核心总结 - Java 基础核心总结 - Java 概述 - 什么是 Java? - Java 的特点 - Java 开发环境 - JDK - JRE - Java 开发环境配置 - Java 基本语法 ... - 构造方法 - 方法重载 - 方法的重写 -

    面向对象知识点总结(上半部分).md

    面向对象知识点总结 1.概述 2.面向对象一&gt;封装 2.1JavaBean 规范实体类要求 2.2 权限修饰符 3.面向对象一&gt;继承 3.1 基本格式和特征 3.2 重写方法 Override method ...3.5实例化子类对象调用父类无参数构造方法

    java 面试题 总结

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    JavaSE 五万字总结.pdf

    Java基础语法 类型转换 运算符 流程控制 循环 Random 数组 方法 方法重载 递归 二进制 类和对象 成员变量局和部变量 封装 构造方法 String 集合 继承 GIT 抽象类 多态 Java8 异常 泛型 Map File IO 多线程 线程池 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    10.2.3 记得给类一个无参数的构造方法 255 10.2.4 调用父类中的构造方法 256 10.2.5 对象也会“变脸” 258 10.2.6 遵守语法,正确“变脸” 262 10.3 覆盖——与继承如影随形 264 10.3.1 当方法不再通用 264 ...

    程序员面试刷题的书哪个好-different-interview:不一样的java面试宝典

    抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。 抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 封装 封装是把数据和操作数据的方法绑定起来,对数据的访问...

    Java入门教程(微学苑)-part1

    3.17 Java方法重载 52 3.18 Java类的基本运行顺序 53 3.19 Java包装类、拆箱和装箱详解 54 3.20 包装类的应用 54 3.20.1.1 1) 实现 int 和 Integer 的相互转换 54 3.20.1.2 2) 将字符串转换为整数 55 3.20.1.3 3) 将...

    C#方法的总结详解

    C#方法1:实例构造器和类2:实例构造器和结构3:类型构造器4:操作符重载方法5:转换操作符方法6:扩展方法7:部分方法1:实例构造器和类构造器是允许将类型的实例初始化为良好状态的一种特殊方法,创建一个引用类型...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    10.2.3 记得给类一个无参数的构造方法 255 10.2.4 调用父类中的构造方法 256 10.2.5 对象也会“变脸” 258 10.2.6 遵守语法,正确“变脸” 262 10.3 覆盖——与继承如影随形 264 10.3.1 当方法不再通用 264 ...

    java从入门到精通视频教程(全94讲)学习笔记整理(齐全).docx

    构造方法 -this.类变量 -类方法、封装 -访问修饰符.重载.覆盖 -约瑟夫问题 -多态 -抽象类、接口 -final.作业评讲 -作业、测试题 -数组 -排序、查找 -二进制、位运算、位移运算 -集合 -集合 -集合 -集合补充 -异常 -...

    零起点学通C++多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和派生如何...

    零起点学通C++学习_多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和...

    Javascript数组操作高级心得整理

    (3) 继承方式2—call()方法与apply()方法 28  call()方法 28  apply()方法 28 (4) 继承方式3—原型链(prototype chaining) 29 (5) 继承方式4—混合方式 29 附:ECMAScript关键字与保留字 1. 关键字 30 2. 保留...

Global site tag (gtag.js) - Google Analytics