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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 型男谢耳朵 初级黑马   /  2019-9-11 16:13  /  1447 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类和接口的区别
成员区别
抽象类:变量,常量;有构造方法;有抽象方法,也有非抽象方法。
接口:常量,抽象方法。
关系区别
类与类:继承,单继承。
类与接口:实现,可以单实现,也可以多实现(类与接口的关系是实现)。
接口与接口:继承,单继承,多继承。(接口与接口是继承关系)。
设计理念的区别
抽象类:对类抽象,包括属性,行为。
接口:对行为抽象,主要是行为。
抽象类一般是共性,接口一般是特性。
抽象类和接口的共同点
接口和抽象类都不能被实例化,能被其他类实现和继承。
接口和抽象类中都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。
多态中的转型
向上转型:从子到父,父类引用指向子类对象。
向上转型的格式:父类 对象名=new 子类
向下转型:从父到子,父类引用转为子类对象(必须要有一个向上转型的过程)(为了调用子类特有的方法)。
向下转型格式(类似于数据类型强转):(子类对象)父类引用
方法的形参是抽象类名,其实需要的是该抽象类的子类对象。
方法的返回值是抽象类名,其实返回的是该抽象类的子类对象。
方法的形参是接口名,其实需要的是该接口的实现类对象。
方法的返回值是接口名,其实返回的是该接口的实现类对象。

内部类:就是在一个类中定义一个类。
格式:public class 类名{
                  修饰符 class 类名{
                   }
           }
内部类的访问特点:内部类可以直接访问外部类的成员,包括私有;外部类要访问内部类的成员,必须创建对象。
内部类(在类中定义的位置):成员内部类,成员局部类(在方法里)。
外界引用内部类格式:外部类名.内部类名 对象名=外部类对象.内部类对象;(也可以在外部类创建内部类的方法,然后创建对象并调用)。
范例:Outer.Inner oi=new Outer().new Inner();、
局部内部类:外部无法直接使用,需要在方法内部创建对象并使用,该类可以直接访问外部类的成员,也可以访问方法内的局部变量。

匿名内部类:(前提)存在一个类或者接口,这里的类可以是具体类也可以是抽象类
格式:new类名或者接口名(){
                      重写方法;
          }
范例:new Inter名(){
                      public viod show();
          }
匿名内部类本质:是一个继承了该类或者实现了该接口的子类匿名对象(是一个对象!!!是对象就可以调方法,可以用多态的方法赋值给类和对象)。
如果一个方法的形参是接口名,它其实要的是该接口的实现类对象。
_Math:只有字段,成员方法没有构造方法,被static修饰,可以直接用类名使用。
如果一个类没有构造方法,要使用类中成员,看类的成员是否都是静态的,如果是,通过类名就可以直接调用。
Math类的常用方法: int abs(int a)返回参数的绝对值,double ceil(double a)返回大于或等于参数最小double值,等于一个整数double floor(double a)返回小于或等于参数最大double值,等于一个整数,int round(float a)按照四舍五入返回最接近参数的int值,int max/min(int a,int b)返回两个int值中的较大值/较小值,double pow(double a,double b)返回a的b次幂的值,double random()返回值为double的正值,[0.0,1.0)
System类的常用方法:void exit(int status)终止当前运行的Java虚拟机,非零表示异常终止,long currentTimerMillis()返回当前时间(以毫秒为单位,毫秒与秒之间的换算是1000)。
看方法的源码,选中方法,按下Ctrl+B。
重写toString方法:Alt+ins——toString。
Object中的equals方法:比较两个对象的地址,所以要重写:Alt+ins——equals()andhashCode()(删掉hashCode()即可)——模板选择IntelliJ Default——next,next,finish
Arrays的常用方法:String toString(int[] a)返回指定数组的内容的字符串表示形式, sort(int[] a)按照数字顺序排列指定的数组
Arrays.toString():将数组以字符串的形式输出
Arrays.sort();将数组排序

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马