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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法

    查看全部
  • class a=new class();,此时的a并不是对象本身,而是对象地址。
    equals()方法:
    比较的是对象的引用是否指向同一块内存地址。若想比较两个对象的属性值是否相同,则重写equals方:
    假设创建了两个对象,Dog dog=new Dog();Dog dog2=new Dog();,即开辟了两个内存空间,此时
    系统中的equals方法判定两者是不同的。即使dog1和dog2属性值等都相同。
    ==如果比较基本数据类型,则比较两者的值。如果比较的两个引用值(复合数据类型),比较两者的内存地址是否相等。
    重新equals 方法使用eclipse工具----source-------Generate hashcode()-----andequals()自动重写

    查看全部
  • 静态初始化:最先显示,只能用一次

    查看全部
  • 多态

    对象具有多种形态:引用多态和方法多态。

    父类的引用可以指向本类的对象也可以指向子类的对象,即引用的多态。

    继承是多态实现的基础。 不允许子类的引用指向父类的对象。

    //在主函数入口中创建对象的时候

    父类名 对象1=new 父类名();//父类指向本类的对象

    父类名 对象1=new 子类名();//父类指向子类的对象

    方法的多态,创建本类对象时,调用的方法为本类方法;通过父类引用指向创建子类对象时,调用的方法为子类重写的方法或者继承的方法。

    不允许对本类指向的子类对象中调用子类独有方法。


    查看全部
    0 采集 收起 来源:Java 中的多态

    2018-10-18

  • public class HelloWorld {  
       static   String className = "JAVA开发一班";
      HelloWorld demo=new HelloWorld();   
    public static void main(String[] args) { 
    System.out.println(HelloWorld.className);
    	}}

    要 HelloWorld demo=new HelloWorld();有什么用

    public class HelloWorld {  
      static   String className = "JAVA开发一班";
       public static void main(String[] args) {
     System.out.println(HelloWorld.className);	}}


    查看全部
  • object类是所有类的父类,如果一个类没有继承其他类,那么默认继承object类。
    可以重写object中的toString()方法来表示对象的属性
    toString()方法:
      在Object类里面定义toString()方法的时候返回对象的哈希code码(对象地址字符串)
    输出时返回的值为:返回对象的类名+@+哈希码十六进制
      可以通过重写toString()方法表示出对象的属性。
    eclipse中点source->generate to String()
    eg:假设a是b类的对象。即b a=new b();
    System.out.println(a);此时默认调用object类中的toSting方法,输出的是a的地址。
    但是如果在b类中重新定义toSting方法,即可返回a对象的属性值。

    查看全部
  • 使用toString()方法时,返回的是对象的哈希码(其实就是返回地址的字符串)。

    print对象,输出的是对象的哈希码(对象地址字符串)。

    如果要表示出对象的属性值,则要通过重写toString()方法,此时return 属性,返回的是属性值!!!

    通过菜单栏中的source→Generate toString(),能够帮助生成属性的toString()方法。

    查看全部
  • dog.equals(dog2)比较两个对象地址是否相同,返回值为布尔型。

    类的对象的数据类型其实是引用类型,==可以比较两个对象的地址是否相同,与equals作用相同。

    getClass()==obj.getClass()//比较两个对象的属性类型是否相同。

    查看全部
    1. 静态内部类可以直接访问外部类的静态成员,但如果外部类的静态成员与内部类的成员名称相同,就通过“类名.静态成员”访问外部的静态成员;而且静态内部类不能访问非静态成员,非静态成员需要通过 new 外部类().成员 的方式访问 

    2. 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();


    查看全部
  • 成员内部类的使用方法:

    1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等

    2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a

    3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );

    4、 编译上面的程序后,会发现产生了两个 .class 文件

    友情提示哦:

    1、 外部类是不能直接使用内部类的成员和方法滴

    可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

    2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。

    格式:外部类名.this.成员变量名;


    查看全部
  • 内部类的主要作用如下:

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

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

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

    要调用内部类的方法,必须先创建外部类的对象,再通过外部类的对象创建内部类的对象,再通过内部类的对象调用内部类的方法

    查看全部
  • this 关键字代表当前对象

    this.属性 操作当前对象的属性

    this.方法 调用当前对象的方法


    查看全部
  • 使用fina关键字做标识有“最终的”含义。

    final修饰变量,则这个变量只能赋予一次值,也就成为了常量

    final 修饰类,则该类不允许被继承

    final修饰方法,则该方法不允许被重写,如果父类加了final关键字,则子类无法覆盖父类方法

    final 修饰属性,则该类的属性不会自动的初始化,(类的初始化属性必须赋值或在构造方法中赋值)


    查看全部
  • 一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

    查看全部
  •  创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

    查看全部

举报

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

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