A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© め白衬衫 中级黑马   /  2014-10-15 20:30  /  1995 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

day6:
一.面向对象的概念:
    1).面向对象是相对于面向过程而言;
    2).面向对象分析(OOA)
       面向对象设计(OOD)
       面向对象编程(OOP)
    3).面向对象的特点:
       A.封装:将成员属性私有化,有选择的对外提供公有的方法;
       B.继承:将一些类的共有的部分抽取出来,形成一个父类,其它类可以继承自这个类;
        达到代码复用的目的;另外也为多态提供前提;
       C.多态:用父类的引用指向子类的对象。有利于程序的扩展;
    4).类和对象的关系:
       A.类:就是对一些事物的定义;它在我们的代码中反映为一个class;它定义了具有相同特征的一些
         事物的属性和行为;它类似于我们现实中的表格;设计图纸;
       B.对象:就是具体存在事物。它在我们的代码中表示为通过new关键字,在内存中会产生堆空间,具有自己
         特有的属性值;
       C.类和对象的关系:一个类可以产生多个对象;类:就是一个对事物的描述性的定义;
                                                对象:就是具体的事物;
  
    5).定义类使用class关键字:
       类中可以包含:
         成员属性;
  与"局部变量不同":
   A.局部基本类型变量:
     a).声明后必须初始化,才能被访问;
     b).存储在栈中
     c).所在的代码块结束,立即从栈中消除;
   B.成员变量:
     a).声明后,系统会自动初始化,赋默认值:整数:0,小数:0.0,布尔:false,字符:'\u0000',其它引用类型:null
     b).存储在堆中;
     c).所在的代码块结束,栈中的引用会立即消除,但堆中的数据不会立即消失,会成为垃圾,后期由JVM中的垃圾回收器自动回收。
  成员方法;
  类;
  接口;
    6).匿名对象:
       1.如果我们不需要对象的名字,可以使用匿名对象:
         new MyTools().getMax(10,20);
       2.当我们调用函数,而函数的形参需要某个引用类,而这个引用我们不需要,此时,可以传一个匿名对象:
         fun(new Student());
    7).封装:
       将成员变量私有化,对外提供公有的方法;
       1.私有:private
       2.公有:public
    8).this关键字:
       1.对于一个类的多个对象,每个对象会有一份"成员变量"的副本,但对于方法体,所有对象共享一个方法体;
         所以一个方法是被多个对象共享的。此时,当运行这个方法时,Java会自动将这个方法绑定到当前运行的
  对象上,隐式的使用this。
       2.this存储当前对象的引用;
       3.同过this可以访问成员变量、成员方法、构造方法;
day7:
一.初始化数据成员:
    1).初始化代码块:是位于类体中的一对大括号{}内的代码块。每次构造一个此类对象时,会执行一次。
                     它比构造函数先期执行;用于初始化成员变量;
           2).构造函数:
       A.构造函数的名字跟类名相同;
       B.构造函数不能声明返回值类型,即使是void;
       C.构造函数是在实例化对象时被自动调用,只被调用一次;
       D.一个类可以有多个构造函数(构造函数的重载);
       E.如果我们的类不写构造函数,系统会自动添加一个默认构造函数(无参,无方法体,什么都不做的);
         如果我们定义了构造函数,系统将不会给我添加默认构造函数;
       F.构造函数不能return一个具体值,但可以写return;语句;表示结束方法执行;
       G.构造函数之间可以互相调用,使用this()或者带参数this(实参);
       H.构造函数的访问修饰符可以是private;意味着外部不能实例化一个此类对象。(单例模式)
    3).静态初始化代码块:
       A.普通代码块之前加static关键字:static{};
       B.第一次实例化此类对象时,只执行一次;
       C.执行顺序:静态初始化代码块、初始化代码块、构造函数
       D.静态初始化代码块如果访问数据成员,那么数据成员一定要是静态;
二.static关键字:
    1).修饰类的成员;
    2).静态成员会在没有类的对象产生前,先期被加载,并分配空间;
    3).静态成员可以通过类名调用,可以通过对象名调用;
    4).静态的成员变量,存储在方法区的"静态区",对多个对象是共享的;
    5).静态方法只能访问静态成员;
    6).静态方法中不能使用this,super关键字;
    7).main方法是静态的;
三.main方法:
    A.格式:public static void main(String[] args)
    B.public :公有的;
    C.static :静态的,不需要类的实例就可以被访问;
    D.void : 不返回值;
    E.main : main不是关键字。它是一个约定的名称,必须要main,由虚拟机自动寻找并加载运行;
    F.String[] args : 用于从控制台接受参数;
四.制作帮助文档:
    A.使用javadoc.exe,在JDK安装目录/bin/,同java.exe和javac.exe在相同目录下;
    B.源码中需要使用"文档注释":以:/**开头,以*/结束;
五.生成随机数:
    A.java.lang.Math类中的random。random()是一个静态的方法,直接使用类名就可以调用;
    B.每次生成一个大于或等于0.0,小于1.0的一个浮点数;
    C.生成1——10的数字:(int)(Math.random() * 10) + 1;


评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

4 个回复

倒序浏览
很全面,学习了 加油啊 刚完成面向对象
回复 使用道具 举报
学习了,准备学这个。
回复 使用道具 举报
写的不错,学习了
回复 使用道具 举报
不错,谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马