为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第二季 升级版_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季 升级版

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 接口的使用。 如果要继承父类,继承父类必须在实现接口之前
    查看全部
    0 采集 收起 来源:Java 中的接口

    2015-02-24

  • 父类Telphone用来约束子类,所以父类定义成抽象类,在建类对话框中勾选“abstract”复选框。 注意:抽象方法没有方法体,以分号结束。 在建立子类时,继承父类,则自动出现构造方法约束。
    查看全部
  • 接口其实是一个规范,用来约束类。 定义接口使用interface 接口可以多继承
    查看全部
    0 采集 收起 来源:Java 中的接口

    2015-02-20

  • 使用规则
    查看全部
  • 抽象类关键字:abstract 作用:限制规定子类必须实现某些方法,但不关注实现细节
    查看全部
  • Dog dog=new Dog(); Animal animal=dog; //自动类型提升,向上类型转换 Dog dog2=(Dog)animal;//向下类型转换 ,强制类型转换 Cat cat=(Cat)animal;//向下类型转换 ,强制类型转换,存在风险,虽然强制类型转换了,但是毕竟 //animal指向的是Dog对象,显然没有办法转换为Cat对象,根本就是不同类型 //的对象,虽然编译器在执行过程中没有检查出错误,但是运行时会出错。 //即:1、编译时Cat类型 2、运行时Dog类型 //通过instanceof运算符避免类型转换的安全性问题,它就可以判断一个引用是否 //是某个类型或者某个类型的子类型,会返回一个布尔值 修改为: Dog dog=new Dog(); Animal animal=dog; //自动类型提升,向上类型转换 if(animal instanceof Dog){ Dog dog2=(Dog)animal; //向下类型转换 ,强制类型转换 } else{ System.out.println("无法进行类型转换 Dog"); } if(animal instanceof Cat){ Cat cat=(Cat)animal; } else { System.out.println("无法进行类型转换 Cat"); }
    查看全部
  • 与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。 需要注意: 1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。 2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量, 3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
    查看全部
  • 抽象类的使用规则; 抽象类约束子类必须有哪些方法,但是不关注这些方法是怎么实现的。
    查看全部
  • 可以使用instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题
    查看全部
  • 方法内部类比较神奇,是定义在外部类的方法中的。所以只能在该方法中使用。 由于只能在外部类的方法中使用,所以不能使用public private或者static等修饰符。
    查看全部
  • 静态内部类 1 静态内部类不能直接访问外部类的非静态成员,但是可以通过new 外部类(). 成员的方式访问。 2 如果外部类的静态成员的名字和内部类成员名称相同,可以通过 类名.静态成员 访问外部类成员;如不相同,内部类调用外部静态成员时可以通过成员名直接调用。 3 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名=new 内部类()。
    查看全部
  • 多态(对象的多种形态) 继承是多态的实现基础。 多态包括引用多态和方法多态。 引用多态:1、父类的引用可以指向本类的对象----Animal obj1=new Animal(); 2、父类的引用可以指向子类的对象----Animal obj2=new Dog(); 注意:不能使用子类的引用指向父类的对象-----Dog obj3=new Animal();是错误的 方法多态:1、创建本类对象时,调用的方法为本类方法。 2、创建子类对象时,调用的方法为子类重写的方法或者继承的方法。 注意:若子类有自己独有的方法,并不是从父类继承来的,则不能通过父类的引用调用子类独有的方法;例如Dog类有自己的方法 public void WatchDoor() { System.out.println("狗能看门"); } 则obj2.WatchDoor();是不允许的
    查看全部
    0 采集 收起 来源:Java 中的多态

    2018-03-22

  • 若我们需要得到相同的属性值,则通过equals()方法----“Source--Generate hashCode()and equals()”; public boolean equals(Object obj) { if (this == obj) //判断两个引用的值是否相同,即两个引用的地址是否相同 return true; if (obj == null) //若另一个对象是空值,那么肯定是不相等的.因为谁会比较两个空值的对呢? return false; if (getClass() != obj.getClass()) return false; //getClass()可以得到一个类对象,判断两个对象的类型是否相同,当我们new一个类的时候,得到的是类的对象,类的对象不同于类对象。类对象描述的是类的代码信息(这个类有哪些属性,它是什么类型,变量名是什么,有哪些方法,方法名,方法里的代码....比如“姓名,年龄,性别...”,而类的对象关注的是对象的属性值,或者说这个对象的数据信息,比如“阿宝,18,男...”). if (getClass()!=obj.getClass())用来判断两个对象的类型是否相同 Dog other = (Dog) obj; //当执行到本句时,显然两个对象的类型是相同的,把传进来的对象obj转换成Dog类型,转换成相同的类型后,才能进行属性比较 if (age != other.age) //此时可以判断两个对象的属性值是否相同,若相同,则这两个对象相等 return false; return true; } 此时在main()函数中调用equals()方法---- if(dog.equals(dog2)){ System.out.println("两个对象是相同的"); } else { System.out.println("两个对象是不相同的"); } 此时则可判断两个对象的值是否是相同的
    查看全部
  • equals()方法比较的是两个对象的引用是否指向同一块内存地址。 Dog dog=new Dog(); Dog dog2=new Dog(); // dog 和dog2指向的是不同的内存地址,因为new了两次,开辟了两个不同的内存空间。直接用if(equals.equals(dog2)),只是比较了两个对象的内存地址是否相同,并不是去比较的对象的值。执行结果是“两个对象是不相同的”。
    查看全部
  • 1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!