面向对象学习

###07.01_面向对象(构造方法Constructor概述和格式)(掌握)

  • A:构造方法概述和作用

    • 给对象的数据(属性)进行初始化
  • B:构造方法格式特点
    • a:方法名与类名相同(大小也要与类名一致)
    • b:没有返回值类型,连void都没有
    • c:没有具体的返回值return;

###07.02_面向对象(构造方法的重载及注意事项)(掌握)

  • A:案例演示

    • 构造方法的重载
    • 重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
  • B:构造方法注意事项
    • a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
    • b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
      • 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法

###07.03_面向对象(给成员变量赋值的两种方式的区别)

  • A:setXxx()方法

    • 修改属性值
  • B:构造方法
    • 给对象中属性进行初始化

###07.04_面向对象(学生类的代码及测试)(掌握)

  • A:案例演示

    • 学生类:

      • 成员变量:

        • name,age
      • 构造方法:
        • 无参,带两个参
      • 成员方法:
        • getXxx()/setXxx()
        • show():输出该类的所有成员变量值
  • B:给成员变量赋值:
    • a:setXxx()方法
    • b:构造方法
  • C:输出成员变量值的方式:
    • a:通过getXxx()分别获取然后拼接
    • b:通过调用show()方法搞定

###07.05_面向对象(手机类的代码及测试)(掌握)

  • A:案例演示

    • 模仿学生类,完成手机类代码

###07.06_面向对象(创建一个对象的步骤)(掌握)

  • A:画图演示

    • 画图说明一个对象的创建过程做了哪些事情?
    • Student s = new Student();
    • 1,Student.class加载进内存
    • 2,声明一个Student类型引用s
    • 3,在堆内存创建对象,
    • 4,给对象中属性默认初始化值
    • 5,属性进行显示初始化
    • 6,构造方法进栈,对对象中的属性赋值,构造方法弹栈
    • 7,将对象的地址值赋值给s

###07.07_面向对象(长方形案例练习)(掌握)

  • A:案例演示

    • 需求:

      • 定义一个长方形类,定义 求周长和面积的方法,
      • 然后定义一个测试类进行测试。

###07.08_面向对象(员工类案例练习)(掌握)

  • A:案例演示

    • 需求:定义一个员工类Employee
    • 自己分析出几个成员,然后给出成员变量
      • 姓名name,工号id,工资salary
    • 构造方法,
      • 空参和有参的
    • getXxx()setXxx()方法,
    • 以及一个显示所有成员信息的方法。并测试。
      • work

###07.09_面向对象(static关键字及内存图)(了解)

  • A:案例演示

    • 通过一个案例引入static关键字。
    • 人类:Person。每个人都有国籍,中国。
  • B:画图演示
    • 带有static的内存图

###07.10_面向对象(static关键字的特点)(掌握)

  • A:static关键字的特点

    • a:随着类的加载而加载
    • b:优先于对象存在
    • c:被类的所有对象共享
      • 举例:咱们班级的学生应该共用同一个班级编号。
      • 其实这个特点也是在告诉我们什么时候使用静态?
        • 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
      • 举例:
        • 饮水机(用静态修饰)
        • 水杯(不能用静态修饰)
        • 共性用静态,特性用非静态
    • d:可以通过类名调用
      • 其实它本身也可以通过对象名调用。
      • 推荐使用类名调用。
      • 静态修饰的内容一般我们称其为:与类相关的,类成员
  • B:案例演示
    • static关键字的特点

###07.11_面向对象(static的注意事项)(掌握)

  • A:static的注意事项

    • a:在静态方法中是没有this关键字的

      • 如何理解呢?

        • 静态是随着类的加载而加载,this是随着对象的创建而存在。
        • 静态比对象先存在。
    • b:静态方法只能访问静态的成员变量和静态的成员方法
      • 静态方法:

        • 成员变量:只能访问静态变量
        • 成员方法:只能访问静态成员方法
      • 非静态方法:
        • 成员变量:可以是静态的,也可以是非静态的
        • 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
      • 简单记:
        • 静态只能访问静态。
  • B:案例演示
    • static的注意事项

###07.12_面向对象(静态变量和成员变量的区别)(掌握)

  • 静态变量也叫类变量 成员变量也叫对象变量
  • A:所属不同
    • 静态变量属于类,所以也称为为类变量
    • 成员变量属于对象,所以也称为实例变量(对象变量)
  • B:内存中位置不同
    • 静态变量存储于方法区的静态区
    • 成员变量存储于堆内存
  • C:内存出现时间不同
    • 静态变量随着类的加载而加载,随着类的消失而消失
    • 成员变量随着对象的创建而存在,随着对象的消失而消失
  • D:调用不同
    • 静态变量可以通过类名调用,也可以通过对象调用
    • 成员变量只能通过对 象名调用

###07.13_面向对象(main方法的格式详细解释)(了解)

  • A:格式

    • public static void main(String[] args) {}
  • B:针对格式的解释
    • public 被jvm调用,访问权限足够大。
    • static 被jvm调用,不用创建对象,直接类名访问
    • void被jvm调用,不需要给jvm返回值
    • main 一个通用的名称,虽然不是关键字,但是被jvm识别
    • String[] args 以前用于接收键盘录入的
  • C:演示案例
    • 通过args接收键盘例如数据

###07.14_面向对象(工具类中使用静态)(了解)

  • A:制作一个工具类

    • ArrayTool
    • 1,获取最大值
    • 2,数组的遍历
    • 3,数组的反转

###07.15_面向对象(说明书的制作过程)(了解)

  • A:对工具类加入文档注释
  • B:通过javadoc命令生成说明书
    • @author(提取作者内容)
    • @version(提取版本内容)
    • javadoc -d 指定的文件目录 -author -version ArrayTool.java
    • @param 参数名称//形式参数的变量名称@return 函数运行完返回的数据

###07.16_面向对象(如何使用JDK提供的帮助文档)(了解)

  • A:找到文档,打开文档
  • B:点击显示,找到索引,出现输入框
  • C:你应该知道你找谁?举例:Scanner
  • D:看这个类的结构(需不需要导包)
    • 成员变量 字段
    • 构造方法 构造方法
    • 成员方法 方法

###07.17_面向对象(学习Math类的随机数功能)(了解)

  • 打开JDK提供的帮助文档学习
  • A:Math类概述
    • 类包含用于执行基本数学运算的方法
  • B:Math类特点
    • 由于Math类在java.lang包下,所以不需要导包。
    • 因为它的成员全部是静态的,所以私有了构造方法
  • C:获取随机数的方法
    • public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
  • D:我要获取一个1-100之间的随机数,肿么办?
    • int number = (int)(Math.random()*100)+1;

###07.18_面向对象(猜数字小游戏案例)(了解)

  • A:案例演示

    • 需求:猜数字小游戏(数据在1-100之间)

###07.19_day07总结
把今天的知识点总结一遍。

原文地址:http://blog.51cto.com/357712148/2131106

时间: 2024-10-15 06:43:38

面向对象学习的相关文章

面向对象学习笔记

abstract:抽象类或方法的关键字注意事项:一个类中至少有一个抽象方法不允许有大括号主要意义就是规范方法,要求必须按照抽象中的方法来写继承抽象类的类,必须重载完全抽象类的方法抽象类是不能被实例化的,因为本身没有意义 extends 继承的关键字 类中常用的关键字:final 被定义的类不能被继承,该类的方法不能被继承,相当于一个锁的功能self self::静态成员,相当于类名称::静态成员,和this是有区别的,$this访问类中的内容必须实例化,而self是直接可以访问类中的内容的,多用

php面向对象学习

php面向对象学习 近期跟着别人开发一套php程序,深感自己面向对象很白痴,于是再次巩固了一下面向对象的学习,自己整理了一下这几天面向对象的东西,给大家分享!! 面向对象的三大特性: 封装 -- 隐藏内部实现,稳定外部接口 继承 -- 子类继承父类成员,实现代码复用 多态 -- 不同子类对同一消息做出不同的反映 一.接口 -- 是一套规范,遵守这个规范就可以实现功能 在PHP中,接口同样是一种规范和标准,可以约束类的行为,定义一个接口不指定具体的实现. 接口是把隐式公共方法和属性组合起来,以封装

面向对象学习【类-匿名类】

匿名类是就就像这个词一样,是一个没有名字的类,看到这个匿名类有点迷糊了,如果大家想想一个类没有名称的话那么我们如何来使用他创建实例呢?答案就是我们可以使用 var 来声明一个匿名的类,创建的格式为: new anonymousClassName{字段1,字段2,........} 说明: 匿名类当中的字段都全部都是public类型的,这就意味着我们可以在外部随意有访问这个所谓的匿名类: 看着这么爽其实这个匿名类还有很多的限制如: 1.使用匿名类时,必须对其初始化: 2.只能包含public字段;

面向对象学习【类-静态类】

静态类只能包含静态成员(使用该类创建的所有对象将共享这些成员的同一个副本).静态类纯粹作为工具方法和字段的一个容器来使用.静态类不能包含任何实例数据或方法.另外,使用new操作符来创建静态类的一个对象是没有意义的.如果坚持这样做,编译器会报错.如果需要执行任何初始化,那么static类可以包含一个默认的构造器,前提是该构造器也被声明为static.其他任何类型的构造器都是非法的,编译器会报错: 比如自己定义一个Math类,其中只包含静态成员,那么应该像下面这样写: public static c

Delphi面向对象学习(-)

Delphi面向对象学习随笔一:类与对象的关系作者:巴哈姆特http://www.cnpack.org(转载请注明出处并保持完整)工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵    本文只是写写我对对象化的理解,主观成分很多,或许有错误,希望大家指正^_^    PS: 本文的演示代码均以Delphi 的Object Pascal语法为准. 类与对象的关系    要讨论类与对象的关系,需要先说一下什么是类,什么是对象. 类:    类.我认为是一个集合,和数学中的集合一样,是一类事物的

Php面向对象学习笔记 – 构造、析构、对象赋值、克隆

Php面向对象学习笔记 – 构造.析构.对象赋值.克隆 class student { public  $stu_id;       // 定义成员变量 public  $stu_name; public  function sayName()   // 成员函数 { echo $this->stu_name;   // $this  访问该对象的成员变量 } } $stu = new  Student;      // 创建对象 $stu->stu_id = '0607001'; $stu-

js面向对象学习 - 对象概念及创建对象

原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数据属性和访问器属性. 1.数据属性又包含 Configurable //表示能否通过delete删除,默认为true: Enumerable //表示能否通过for-in循环返回属性,默认为true; Writable  //表示能否修改属性的值,默认为true; Value            

javascript面向对象学习笔记(二)——创建对象

javascript面向对象学习笔记(二)--创建对象 工厂模式 该模值抽象了创建具体对象de过程.用函数来封装噫特定接口创建对象的细节. function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; } var person1=createPerson("Chiaki&

JavaScript之面向对象学习七(动态原型模式和寄生构造函数模式创建自定义类型)

一.动态原型模式 在面向对象学习六中的随笔中,了解到组合构造函数模式和原型模式创建的自定义类型可能最完善的!但是人无完人,代码亦是如此! 有其他oo语言经验的开发人员在看到独立的构造函数和原型时,很可能会感到非常困惑.因为对象在其他oo语言中往往是封装在一块的,而构造函数确是和原型分开的,所以并没有真正意义上的封装,所以动态原型模式正是致力与解决这一问题的一个方案! 动态原型模式将所有的信息都封装在构造函数中(包括原型和实例属性),通过在构造函数中实例化原型(仅在必要的情况下)实现封装,又保持了