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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • equals()----返回值是布尔类型 比较的是对象的引用是否指向同一块内存地址-------对象实例化时,即给对象分配内存空间 使用方法如:dog.equals(dog2); 如果是两个对象,但想判断两个对象的属性是否相同,则重写equals()方法 1.地址是否相同----if (this == obj) 2.对象是否为空----if (obj == null) 3.getClass()可以得到类对象,判断类型是否一样-----if (getClass() != obj.getClass()) new出来的是类的对象,关注的是类的属性的具体的数据; 类对象是类的代码信息,关注的是类有什么属性和方法 4.属性值是否一样----if (age != other.age)

    查看全部
  • Object类是所有类的父亲,如果一个类没有使用extends关键字明确标识继承另外一个类,na那么这个类默认继承Object类。 1.toString()方法 Object类中定义toString方法的时候返回的对象的哈希code码(对象地址字符串 ) 可以重写toString方法表示出对象的属性 用Source选项中的功能可以快速生成toString方法

    查看全部
  • super关键字的应用: 1.子类的构造过程中必须调用其父类的构造方法 2.如果子类的构造方法没有显示调用父类的构造方法,则系统会默认调用父类的无参构造方法。 3.如果显示的调用构造方法,必须在子类的构造方法的第一行,super()。 4.如果子类的构造方法中既没有显示调用父类的构造方法,父类又没有无参的构造方法,则编译就会报错

    查看全部
  • final关键字: 表示“最终的”,即不可修改。 final可以修饰类、方法、属性和变量 1、修饰类:不允许被继承 2、修饰方法:不允许被重写 3、修饰属性:则该属性不会进行隐式初始化(不会自动初始化),需要手动初始化或者在构造方法中初始化 (但二者只能选一,即只能初始化一次后便不能更改)

    查看全部
  • 在一个不存在继承的类中:初始化static变量,执行static初始化快-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法

    在一个存在继承的类中:初始化父类static成员变量,运行父类static初始化块-->初始化子类static成员变量,运行子类static初始化块-->初始化父类实例成员变量(如果有赋值语句),执行父类普通初始化块-->父类构造方法-->初始化子类实例成员变量(如果有赋值语句)及普通初始化块-->子类构造方法。

    注意:其中变量初始化(赋值)和初始化块的执行与相关语句在源码中的放置顺序一致,不过变量声明会最先执行


    查看全部
  • 重写方法的规则: 1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。 2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。如果在子类中写了一个只有返回类型不同的函数,将不是重写,且会报错 3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private) 4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如: 父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。 而重载的规则: 1、必须具有不同的参数列表; 2、可以有不责骂的返回类型,只要参数列表不同就可以了; 3、可以有不同的访问修饰符; 4、可以抛出不同的异常; 重写与重载的区别在于: 重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。 用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般. 重写是除了函数体其他必须完全相同,如果参数不同则是重载,如果参数相同而返回类型不同则会报错

    查看全部
  • super应用https://img1.sycdn.imooc.com//5b34c9100001edd707850489.jpg

    查看全部
  • 为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。      在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。    其实使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,但是如果我们不需要解决多重继承问题,那么我们自然可以使用其他的编码方式,但是使用内部类还能够为我们带来如下特性(摘自《Think in java》):      1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。      2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。      3、创建内部类对象的时刻并不依赖于外围类对象的创建。      4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。      5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。

    查看全部


  • super关键字


    https://img1.sycdn.imooc.com//5b34c754000179cb07420442.jpg

    查看全部
  • https://img1.sycdn.imooc.com//5b34c65a0001d11707750454.jpgfinal关键字

    查看全部
  • 静态内部类: 1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

    查看全部
  • https://img1.sycdn.imooc.com//5b34c4e30001224607920427.jpghttps://img1.sycdn.imooc.com//5b34c4f70001ec4007550431.jpg继承顺序阿

    查看全部
  • 成员内部类用法注意: 1. 内部类访问外部类的属性、方法: 内部类可以直接访问外部类属性、方法,如重名,必须通过 外部类名.this.数据 来访问。 2. 外部类访问内部类的属性、方法: 外部类不能直接访问内部类属性、方法,必须先创建内部类对象,然后通过对象来访问。 3. 创建内部类对象: 外部类或其余内部类创建内部类对象:直接new 其余类创建内部类对象:必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( )。

    查看全部
  • 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

    2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

    3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便


    查看全部
  • 5b2f4457000149eb12800720.jpg 

    访问限定符的访问范围

    查看全部

举报

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

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