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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

day08:
一.继承:
    1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,
      只要继承那个类即可。达到一个代码复用的目的;
    2.使用关键字extends;
    3.Java只支持"单继承",不允许同时继承自多个类。但允许"多层继承";
    4.当实例化一个子类的时候,会同时实例化它的父类;
    5.父类中私有的成员是不会被继承的;
    6.注意:父类的构造函数。如果父类定义了构造函数,系统将不会为父类添加默认构造函数。此时在实例化
      子类对象时要注意,子类的构造一定满足构造父类的条件;
      显示调用父类构造函数使用:super()或super(实参);
      调用语句一定写在第一句话;
    7.super关键字:
      A.指向父类;
      B.调用父类的成员变量、成员方法、构造函数;
二.函数重写(Override)
    1.子类可以定义同父类返回值类型、方法名、参数列表全部相同,并具有与父类方法相同或更宽的访问修饰符的方法。
      这个方法就是重写父类的方法;
    2.重写:
      A.方法名、参数列表相同,但返回值类型不同:编译错误;
      B.返回值类型、方法名相同,但参数列表不同:通过编译,认为是子类自有的方法;
    3.重写与重载:
      A.重写:指在子、父类之间,子类定义了同父类一模一样的方法,这时叫:子类重写了父类的方法;
      B.重载:指在一个类中。定义多个同名,但参数列表不同的方法。跟返回值类型无关;跟形参名无关
三.final关键字:
    1.可以修饰类、成员变量、成员方法;
      A.当一个类被修饰为final:此类是最终类,不能被继承;
      B.当一个成员变量被修饰为final:此变量拥有最终的值,不能被更改;
      C.当一个方法被修饰为final:此方法是最终方法,不能被重写;
      D.一个局部内部类如果要访问一个局部变量,那么要求这个变量必须是final;
  interface IA{
   void print();
  }
        class A{
   public IA show(){
    final int num = 10;    class B implements IA{
     public void print(){
      System.out.println("num = " + num);
     }
    }
    B b = new B();
    return b;
   }
        }
  四.多态:
     1.一个父类(父抽象类、父接口)类型的引用,指向子类的对象,叫:多态;
     2.多态的情况下,访问的成员,父类(父抽象类、父接口)中一定要存在,否则不能通过编译;
       在运行时:对于被覆盖的成员变量,访问的是父类的;
                 对于重写的方法,访问的是子类的;(方法是在运行时动态绑定的)
     3.当父类的引用指向子类对象时,类型会自动向上转型:Person p = new Student();
       也可以将父类类型,强制转换为它所指向的子类对象的类型:Student stu = (Student)p;
       使用关键字:instanceof来判断一个引用类型是否是某个类类型:if(p instanceof Student){}
day09:
一.抽象类:
    1.使用abstract修饰;
    2.抽象方法不能有方法体;
    3.如果一个类中包含抽象方法,那么这个类必须是抽象的。
    4.一个抽象类可以没有抽象方法;
    5.抽象类中可以包含普通成员变量、成员方法、抽象方法;
    6.一个抽象类不能被实例化,用类被继承;
    7.子类继承一个抽象类,必须全部重写抽象类中的抽象方法,否则,就也得是一个抽象类;
    8.子类继承抽象类使用关键字:extends,仍然是单继承;
    9.抽象类中可以包含构造函数;
    10.abstract关键字不能跟哪些关键字同时使用?
       A.final
       B.static
       C.private
  
二.接口:
    1.可以定义成员变量、抽象方法;
    2.接口中的成员变量被自动修饰为:public static final
    3.接口中的抽象方法被自动修饰为:public abstract
    4.使用接口可以用于功能扩展。
    5.一个类只能同时继承自一个类/抽象类,但可以同时实现多个接口。
    6.接口和接口之间,是继承关系,使用关键字:extends,而且可以多继承;
    7.一个类实现接口后,必须实现接口中所有的抽象方法;
    8.接口同抽象类一样,不能被实例化,是需要子类实现;定义接口关键字:interface。
      实现接口使用关键字:implements
day10:
一.内部类:
    1.在一个类的内部可以定义一个类,这个内部的类就叫做:内部类;
    2.实例化一个普通内部类对象之前,要先实例化它的外部类对象;
    3.内部类的成员方法可以访问外部类的成员;
    4.内部类的成员也可以覆盖外部类成员;
二.局部内部类:
    1.可以将类定义在一个方法体内,这样的类叫:局部内部类;
    2.可以在外部通过父接口或父类的形式获取局部内部类的对象;
    3.局部内部类如果访问局部变量,要求此变量必须是final;
三.匿名局部内部类:
    1.在方法内可以定义没有名字的内部类;
四.包:
    1.可以将我们的类进行分类管理,使用包。关键字:package;
    2.定义包语句放在源文件的第一句话;
    3.使用其它包下的类:
      A.使用全名限定的类名:com.itcast.tools.MyTools mt = new com.itcast.tools.MyTools();
      B.使用导入包语句:import com.itcast.tools.MyTools;
    4.导入包语句可以有多条,可以使用通配符:import com.itcast.tools.*;
      通配符只统配tools下的所有类,如果tools下有子包,不包括这些子包下的其它类;
    5.如果要package和import 要先package后import;
五.访问修饰符:
    1.public、protected、(默认)、private;
    2.对于顶层类,只用public 和(默认);
    3.public : 修饰类、成员,说明整个工程内的其它类都可以访问;
      protected:修饰成员,只能被同一个包下的其它类访问;如果在包外,只能被子类访问;
      (默认):修饰类、成员,只能被同一个包下的其它类访问;
      private:修饰成员。只能在类内访问;
六.制作Jar包:
    1.使用jar.exe;
    2.命令:\>jar -cvf mypack.jar com
    3.jar包就是一个压缩包,是一组class的集合。可以方便的被其它工程下的类使用

评分

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

查看全部评分

11 个回复

倒序浏览
很受用,留着以后看
回复 使用道具 举报
留着备用。。。。。。。
回复 使用道具 举报
总结的不错,领教啦!
回复 使用道具 举报
看看!!
回复 使用道具 举报
挺不错的,赞一个
回复 使用道具 举报
FlyFish 中级黑马 2014-10-16 10:05:06
7#
备用!!
回复 使用道具 举报
总结的不错,赞一个
回复 使用道具 举报
很认真哦
回复 使用道具 举报
总结的不错哟。。收了
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
马嘉 中级黑马 2014-10-18 08:08:54
12#
总结的那是相当好呀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马