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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 抽象类:<br> 抽象类前使用abstract关键字修饰,则该类为抽象类<br> <br> 2、应用场景:<br> a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。<br> b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。<br> <br> 3、作用:<br> 限制规定子类必须实现某些方法,但不关注实现细节。<br> <br> 4、使用规则<br> a、abstract定义抽象类<br> b、abstract定义抽象方法,只有声明,不需要实现<br> public abstract void eat(); <br> c、包含抽象方法的类是抽象类<br> d、抽象类中可以包含普通的方法,也可以没有抽象方法<br> e、抽象类不能直接创建,可以定义引用变量
    查看全部
  • 引用类型转换: 1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。 如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换 2.向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出) 如:Dog dog1=(Dog)animal;//向下类型转换 3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题。如: Dog dog=new Dog(); Animal animal=dog; Cat cat=(Cat)animal;//编译时不会出错(按Cat类型进行编译),但运行时会报错,因为它开辟的是Dog类型的空间,而(无法将引用类型进行转换)无法将dog对象转换成Cat类型,并且此方法对程序的安全性有影响。此时应该利用instanceof和if语句结合使用,进行验证,以保证程序的安全性,如: if(animal instanceof Cat){//判断animal类中是否包含Cat类型的元素,若包含则进行转换,instanceof返回值为布尔类型 Cat cat=(Cat)animal;}else{ System.out.println("无法进行类型转换");}
    查看全部
  • 多态: 1、引用多态: 父类的引用可以指向本类的对象; 如:Animal obj1=new Animal(); 父类的引用可以指向子类的对象; 如:Animal obj2=new Dog() 2、方法多态: 创建本类对象时,调用的方法为本类方法; 如:obj1.eat();//结果:动物可以吃 创建子类对象时,调用的方法为子类重写的方法或者继承的方法; 如:obj2.eat();//结果:狗喜欢吃骨头 注意:父类创建子类对象时,不能调用子类中独有的方法。
    查看全部
    0 采集 收起 来源:Java 中的多态

    2015-11-26

  • 构造方法可以进行初始化,但不可以重载
    查看全部
  • 内部类可以直接访问外部内的成员变量和方法,当内部类和外部类存在同名的成员变量和方法时,优先访问内部类自己的,若要访问外部类中的成员变量和方法,需要this关键字。外部类访问内部类的成员变量和方法时,需要借用内部类对象。
    查看全部
  • 抽象類
    查看全部
  • 多态中如果子类拥有属于自己的独有的方法,那么就不能通过父类定义的对象来调用这个独有的方法。 比如图中dog有自己独有的watchdoor方法,父类中没有,那么久不能通过objet1.Watch();来调用
    查看全部
    0 采集 收起 来源:Java 中的多态

    2015-11-26

  • 多态的含义和应用
    查看全部
    0 采集 收起 来源:Java 中的多态

    2015-11-26

  • 类对象==属性 年龄<br> 类对象==属性值 20 重写equals方法 source/genner.hascodeand equals
    查看全部
  • 关于静态/非静态的方法/变量的使用总结: 1、静态方法之间的调用:类名.方法名 2、静态方法调用非静态方法:对象.方法。即先创建类的对象,然后通过对象来访问非静态方法(间接访问) 3、静态方法调用静态成员变量:直接调用即可,推荐使用类名直接访问 4、静态方法调用非静态成员变量:对象.属性。即先创建类的对象,然后通过对象来访问非静态成员变量(间接访问) 1、非静态方法之间调用:直接调用即可 2、非静态方法调用静态方法: 3、非静态方法调用非静态成员变量:直接调用即可,推荐使用类名直接访问 4、非静态方法调用静态成员变量:直接调用即可
    查看全部
  • 静态方法可以类名.调用,也可以对象名.调用
    查看全部
  • Java静态方法为什么不能直接访问非静态方法 这个要从java的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的静态方法(带有static修饰的静态函数)的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说静态方法会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,this关键字一般指该对象,但是如果没有new对象,而是通过类名调用该类的静态方法也可以。 程序最终都是在内存中执行,变量只有在内存中占有一席之地时才会被访问,类的静态成员(变态和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问,非静态成员(变量和方法)属于类的对象,所以只有在类的对象禅师(创建实例)的时候才会分配内存,然后通过类的对象去访问。 在一个类的静态成员中去访问非静态成员之所以会出错是因为在类的非静态成员不存在的时候静态成员就已经存在了,访问一个内存中不存在的东西当然会出错。
    查看全部
  • 1. 引用多态:父类的引用可以指向本类的对象 Animal obj1=new Animal(); 父类的引用可以指向子类的对象 Animal obj2=new Dog(); (继承是多态的前提) 错误:Dog obj3=new Animal();子类引用父类是不可以的 2. 方法多态:父类调用父类方法 父类引用指向子类,调用子类重写的方法或者继承的方法 如果子类添加独有的方法(父类没有),父类引用指向子类时,不能调用该方法
    查看全部
    0 采集 收起 来源:Java 中的多态

    2015-11-26

  • super的应用
    查看全部
  • 使用super关键字,可以访问父类方法及其属性
    查看全部

举报

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

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