1、        引用数据类型的传递

java用引用代替C++中的指针

fun()方法接收的参数是是Change c1,也就是说说fun()方法接受的是一个对象的引用,所以fun方法中所所做的操作就会影响原先的参数.

2、        Obeject是所有类的父类,其中的toString()方法是需要被覆写的.Object类中有有一个equals方法,此方法用于比较对象是否相等,而且此方法必须被覆写.equals没有被覆写时,实际上是调用了Object类中的equals方法,比较的是内存地址.

3、         子类转型成父类是向上转型,反过来说,父类转型成子类就是向下转型.但是,向下转型可能会带来一些问题:我们可以说麻雀是鸟,但不能说鸟就是麻雀.向下转型需要使用强制转换.判断一个类对象是否是另一个类的实例:if(o instanceof Person){}

4、              接口中没有构造方法.所以无法直接实例化.但是可以通过接口的子类对其进行实例化。

6、        如何理解Person aa=new Student()

如果Student继承Person的话、叫向下转型相反则为向上转型.意思就是创建一个Person 的aa对象但这个对象的实例来自于Student.只有有继承关系才能这样用.

例子:

interface Usb

{

       public void start();

       public void stop();

}

class MoveDisk implements Usb

{

       public void start() {

              System.out.println("MoveDisk start...");

       }

       public void stop() {

              System.out.println("MoveDisk stop...");

       }

}

class Mp3 implements Usb

{

       public void start() {

              System.out.println("Mp3 start...");

       }

       public void stop() {

              System.out.println("Mp3 stop...");

       }

}

class Computer

{

       public void work(Usb u) {

              u.start();

              u.stop();

       }

}

public class TestInterface

{

       public static void main(String[] args)

       {

              new Computer().work(new MoveDisk());

              new Computer().work(new Mp3());

       }

}

J2SE知识点摘记(五)的更多相关文章

  1. J2SE知识点摘记(二十五)

    Set 1.5.1        概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个 ...

  2. J2SE知识点摘记(十五)

    1.        字节流和字符流的转换 以字符为导向的stream基本上有与之相对应的以字节为导向的Stream,两个对应类实现的功能相同,只是操作时的导向不同 字节输入流转换为字符输入流: Inp ...

  3. J2SE知识点摘记-数据库(二)

    一.          查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...

  4. J2SE知识点摘记(六)

    1.        static关键字的使用 static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类. static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯 ...

  5. J2SE知识点摘记(四)

    1.        抽象类(abstract) 抽象类和抽象方法都必须用abstract关键字来修饰. 抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象. 抽象方法只需声明,而不需实现. ...

  6. J2SE知识点摘记(三)

    1.         在java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类.但在java中却允许多层继承. 2.         非内部Class只能被public或者defaul ...

  7. J2SE知识点摘记(二)

    1.    对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...

  8. J2SE知识点摘记(一)

    1.        数组的声明时无法指定数组的长度. 2.        一维数组的声明和内存的分配 "数据类型    数组名[]; //声明一维数组     数组名=  new 数据类型[ ...

  9. J2SE知识点摘记-数据库(一)

    一.          数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...

随机推荐

  1. 利用html5中的localStorage获取网页被访问的次数

    利用html5中的localStorage获取网页被访问的次数 <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  2. AngularJS心得体会

    AngularJS早些时候有过了解,知道这是一个JS的MVC框架,同类型的框架还有Backbone等.这次是由于项目需要,学习了两天的Angular后开始着手改之前的项目代码,这里大概说一下这一周学习 ...

  3. 自定义View 一 (继承VIew重写onDraw方法)

    项目:具有圆形效果的自定义View 一.继承View并重写onDraw方法 public class CircleView extends View{ private static final int ...

  4. 阿里云 centos 修改iptables

    一.检查iptables服务状态 首先检查iptables服务的状态 [root@woxplife ~]# service iptables status iptables: Firewall is ...

  5. SonarQube代码质量管理平台工具

    1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...

  6. hdu 4497 GCD and LCM 质因素分解+排列组合or容斥原理

    //昨天把一个i写成1了 然后挂了一下午 首先进行质因数分解g=a1^b1+a2^b2...... l=a1^b1'+a2^b2'.......,然后判断两种不可行情况:1,g的分解式中有l的分解式中 ...

  7. 轻量级交互数据json格式初探

    [w3cschool tydef]什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JS ...

  8. wait函数返回值总结,孤儿进程与僵尸进程[总结]

    http://blog.csdn.net/astrotycoon/article/details/41172389 wait函数返回值总结 http://www.cnblogs.com/Anker/p ...

  9. rpath 与runpath

  10. ios ViewController present不同的方向

    First ViewController CATransition *transition = [CATransition animation]; transition.duration = 0.3; ...