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

Java入门第二季 升级版

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。而且静态初始化块只在类加载时执行一次,

    查看全部
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    查看全部
  • 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

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


    查看全部
  • 静态内部类是 static 修饰的内部类,这种内部类的特点是:

    1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

    2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

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

    运行结果 : 


    查看全部
  • 使用接口

    一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。

    继承父类实现接口的语法为:
    【修饰符】class 类名 extends 父类 implements 接口1,接口2

    {类体部分


    查看全部
    0 采集 收起 来源:Java 中的接口

    2019-05-11

  • 使用接口

    一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。

    继承父类实现接口的语法为:
    【修饰符】class 类名 extends 父类 implements 接口1,接口2

    {类体部分

    }

    查看全部
    0 采集 收起 来源:Java 中的接口

    2019-05-11

  • public static void main(String [] args){

    Dog dog = new Dog();

    Animal animal = dog;  //自动类型提升 向上类型转换

    Dog dog2 = (Dog)animal;//向下类型转换  强制类型转换

    if(animal instanceof Cat){

    Cat cat = (Cat)animal;

    }else{ System.out.println("无法进行类型转换");}

    }

    查看全部
  • 静态内部类是 static 修饰的内部类,这种内部类的特点是:

    1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

    2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

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


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

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

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

    3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( ),其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class


    查看全部
  • 笔记如下图

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

    查看全部
  • 笔记如下图

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

    查看全部
  • 引用类型转换:

    1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。

    如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换

    2.向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)

    如:Dog dog1=(Dog)animal;//向下类型转换

    3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题。



    查看全部
  • package com.imooc
    
    public class Initail{ 
    public static void main(String[] args){
    Dog dog = new Dog();
    dog.method();
    }
    
    }
    //父类
    public class A{
       public int age = 10;
       public void eat(){
       System.out.println("chi");
    }
    //子类
    public class Dog extendx A{
       public int age = 20;
       public void eat(){
       System.out.println("chigutou");
       }
       public Dog(){
       System.out.println("Dog 类执行了"):
       }
       public void method(){
       System.out.println(super.age);//super关键字——父类
       }
       }

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

    查看全部
  • 在类的声明中,可以包含多个初始化块,当创建类的实例的时候,就会依次执行这些代码块,如果使用static修饰初始化块,就称为静态初始化块

    查看全部
    1. 静态方法中可以直接调用静态成员和静态方法,调用非静态成员个方法时需要创建类的对象,使用对象访问。

    2. 普通方法中,可以直接访问静态和非静态变量。

    查看全部

举报

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

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