linkin大话面向对象--抽象类】的更多相关文章

abstract [非private访问修饰符] 返回值类型 方法名称(参数列表); 当编写一个类时,我们往往会为该类定义一些方法,这些方法时用来描述该类的行为方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但是无法准确知道子类如何实现这些方法. 比如一个图形类应该有一个求周长的方法,但是不同的图形求周长的算法不一样.那该怎么办呢? 所有的图形都有求面积的方法,不管你是正方形,矩形,圆形无所谓,他们都是图形,所以我们应该抽象一个图形这个父类.第一种做…
  先来理解2个概念:闭包和回调   什么是闭包? 闭包是一个可调用的对象,它记录了一些信息,这些信息来自于创建他的作用域.通过这个定义,可以看出内部类是面向对象的闭包,因为他不仅包含了外部类对象的信息,还自动拥有一个指向外部类对象的引用,在此作用域里,内部类有权操作所有的成员,包括外部类的private修饰的成员.   什么是回调? 回调就是对象携带一些信息,这些信息允许它在稍后的某个时刻调用初始化的对象.说白了就是说:某个方法一旦获得了内部类对象的引用,就可以在合适的时候反过来调用外部类实例…
我们每天在撸码,那么我们在敲什么东西呢?明显的我们在写类,写一个类,写一个接口,写某个接口里面写一些属性,在某个类里面写一个方法,然后以一个对象调用方法,对于j2ee来讲的话,可能还会写一些jsp,静态的html,还有不可避免的被大家一直诟病的xml配置文件.具体的java语言规范,以后我会专门做整理,在这里我只关注java面向对象. 要说面向对象,核心就是两个东西:类和对象 . 那么什么是类?自定义数据类型,类是某一批对象的抽象,所有的类都是引用数据类型. 什么是对象?具体存在的实体 . 2者…
内部类说白了就是类中有类 内部类:嵌套类 外部类:宿主类 内部类主要有以下作用:记住了3个字:多继承... 1,内部类提供了更好的封装,可以把内部类隐藏在外部类中,不允许同一个包中的其他类访问该类. 2,内部类可以访问外部类的私有数据,外部类不能访问内部类的实现细节,比如字段. 3,匿名内部类适合用于那些仅需要一次使用的类.比如在命令模式中,当需要传入一个Command对象时,使用匿名内部类将更加方便. 内部类分类,主要有下面4种: 非静态内部类:静态内部类:局部内部类:匿名内部类 非静态内部类…
枚举类(enum) 其实我们使用到枚举的地方还是很多的,其实我们可以完全人工的来实现枚举的功能.比如说我现在手里的项目我就是自己实现的枚举,说白了,枚举就是一个类的多例模式. 1,使用enum声明,默认直接继承了java.lang.Enum类,而不是Object类: 2,枚举类的对象是固定的,实例个数有限,枚举对象后可以跟():跟着()的意思就是在调用相关的构造器,要是不写的话就是在调用默认的构造器. 3,枚举元素必须位于枚举类体中的最开始部分,枚举元素后要有分号与其他成员分隔: 4,枚举类的构…
java引用变量有2个类型,一个是编译时类型,一个是运行时类型: 编译时类型:声明的类型,把它看做是什么东西 运行时类型:真正的类型,实际上指的是什么东西 如果编译时类型和运行时类型不同,就出现多态.相同类型的变量,调用同一个方法时呈现出多种不同的行为特征,这就是多态. 注意这个定义里面的关键字:方法.和方法不同,对象的属性不具备多态性. 编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给变量的对象决定.记住下面一句话就好:编译决定类型,运行绑定对象 当一个引用类型的变量若声明为父…
GC java的垃圾回机制是java语言的重要机制之一.当程序创建对象,数组等引用类型实体时,系统都会在堆内存中为之分配一块内存区,对象就保存在这块内存区中.当这块内存不再被任何变量引用时,这块内存就变成了垃圾,等待系统自动回收.一个对象在堆内存中运行,一共有3中状态:激活状态,去活状态,死亡状态. 值得注意的是:1,垃圾回收机制只负责回收堆内存中的对象,不会回收任何的物理资源(比如数据库连接) 2,程序无法精确的控制垃圾回收的运行,垃圾回收总是在合适的时候来进行. 3,垃圾回收机制在回收任何对…
接口(interface)的概念,掌握接口很重要,以后所有的编程都要面向接口编程.其实接口的内涵就7个字:规范和实现分离. 抽象类是从多个类中抽象出来的模板,若要将这种抽象进行得更彻底,就得用到一种特殊的"抽象类":接口. 生活中听说过的USB接口其实并不是我们所看到的那些插槽,而是那些插槽所遵循的一种规范;而我们看到的那些插槽是根据USB规范设计出来的实例而已,也就说插槽是USB的实例;对应不同型号的USB设备而言,他们各自的USB插槽都需要遵循一个规范,遵守这个规范就可以保证插入插…
Java提倡的万物皆对象,但是数据类型的划分出现了基本数据类型和引用数据类型,那么我们怎么能把基本数据类型称为对象呢? 基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean 除了Integer和Character定义的名称和对应的基本类型差异大,其他六种都是将首字母大写就可以了. Integer,Byte,Float,Doubl…
java中的关键字有以下几个,他们不能作任何其它的用途. 发现没,java中的关键字全是小写,java是严格区分大小写的. abstract  default  null  synchronized  boolean  do  if  package  this  break  double  implements  private  threadsafe  byte  else  import  protected  throw  extends  instanceof    case  fa…