java学习笔记
文章平均质量分 63
cmhinseu
这个作者很懒,什么都没留下…
展开
-
java中的多态
java中的多态(一)多态性java中的引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,而运行时类型由实际赋给该变量的对象来决定。如果编译时类型与运行时类型不一致,就可能出现所谓的多态(polymorphism)。下面,我们通过一个例子来观察一下。package the5; //定义一个父类,有一个成员变量和两个成员方法 public class Ba原创 2015-02-16 17:54:17 · 390 阅读 · 0 评论 -
java之处理对象
java之处理对象java对象都是 Object类的实例,都可以直接调用该类中定义的方法,这些方法提供了处理java对象的通用方法。(一)打印对象和toString方法package the6;public class PrintObject { public static void main(String[] args) { Person p = new Pe原创 2015-02-16 20:34:10 · 390 阅读 · 0 评论 -
java中的继承与组合
java中的继承与组合(一)使用继承的注意点继承带来了高度的复用性的同时,也带来了一个问题:继承严重破坏了父类的封装性!!我们在学习封装的时候知道:每个类都应该封装它的内部信息和实现细节,而只暴露必要的方法给其他的类使用。但是在继承关系中,子类可以直接访问父类的成员变量和方法,从而造成子类和父类的严重耦合。为了保证父类有良好的封装性,不会被子类随意改变,设计父类时我们应当遵循以下的原则: 1. 尽原创 2015-02-16 18:25:30 · 412 阅读 · 0 评论 -
final修饰符
final修饰符final修饰变量时,表示该变量一旦获得了初始值就不可被改变,final既可以修饰成员变量(包括类变量和实例变量),也可以修饰局部变量和形参。(一)final成员变量java语法规定:final修饰的成员变量必须由程序员显式地指定初始值 1. 类变量:必须在静态初始化块中指定初始值或者声明该类变量时指定初始值。 2. 实例变量:必须在非静态初始化块或者声明该实例变量或者构造器中指原创 2015-02-16 22:20:47 · 373 阅读 · 0 评论 -
接口
接口抽象类是从多个类中抽象出来的模板,如果将这种抽象进行的更加彻底,则可以提炼出一种更特殊的“抽象类–接口”。接口里不能包含普通的方法,接口里的所有方法都是抽象方法 接口定义的是多个类共同的公共行为规范,这些行为是与外界交流的通道,这就意味着接口里通常是定义一组公用方法。和类不同,定义接口使用的是关键字interface. 定义接口的基本语法如下:[修饰符] interface 接口名 exte原创 2015-02-17 20:55:03 · 380 阅读 · 0 评论 -
抽象类
抽象类当编写一个类时,常常会为该类定义一些方法。但在某些时候,某个父类只知道子类应该包含怎样的方法,但无法准确地知道这些子类如何实现这些方法。这时候我们就可以使用抽象方法:只有方法签名,没有方法实现的方法抽象类和抽象方法抽象方法和抽象类必须使用abstract修饰符来定义。 有抽象方法的类只能被定义为抽象类。 抽象类里面可以没有抽象方法。具体规则如下: 1. 抽象方法和抽象类都必须使用abst原创 2015-02-17 15:53:08 · 397 阅读 · 0 评论 -
内部类
内部类在某些情况下,我们会把一个类定义在另一个类的内部,这个定义在其他类的内部的类就叫作内部类(也叫嵌套类)。包含内部类的类也被称作外部类(也叫宿主类)。 内部类优点: 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类来访问该类。假设需要创建一个cow类,cow类需要组合一个cowleg对象,cowleg类只有在cow类中才有效。这种情况下,我们可以把cowleg定原创 2015-02-28 14:27:07 · 340 阅读 · 0 评论