zoukankan      html  css  js  c++  java
  • java学习日记(8-13)

    ###############  day08 eclipse 使用   #####################
    Alt+/ 自动补全 syso
    shift + enter 到下一行行首
    ctrl+shift+f 格式化代码
    ctrl+/ 单行注释
    ctrl+shift+/ 多行注释
    ctrl+shift+o 导包
    Alt+上下箭头 移动代码行
    ctrl+d 删除
    ctrl+1 意见提示

    // 块编辑 alt+shift +a
    // 变大写 ctrl+shift+x
    // 变小写 ctrl+shift+y
    // 向下复制一行 alt+ctrl+↓
    // 向下添加一个空行 shift + enter
    // 向上添加一个空行 ctrl+shift + enter
    // 删除一行 选中行 ctrl+d
    // 注释或者去掉注释 ctrl+/
    // 向下移动一行 alt + ↓


    import导入工程

    ############## day09 类 day10 继承 ##########################
    局部变量没有默认值,跟随方法进入栈中
    成员变量跟类对象进入堆中
    private 修饰成员变量,本类可见
    类方法的就近访问原则
    this.name 同C++的this指针
    p.speak() 在调用的时候,同时把地址传给this

    extends java单继承
    子类调用成员变量,方法,重名时采用就近原则
    也可用this,super表明本类与父类
    implements 实现接口,必须重写所有方法

    override 重写
    子类方法的权限大于等于父类方法的权限

    public
    protected 可以在不同包下子类中使用
    default 本包内使用,不写任何权限, 默认为default
    private

    public abstract class 抽象类,不能实例化对象
    public abstract void work(); 抽象方法必须存在抽象类中
    只要有抽象方法,就一定是抽象类
    抽象类可以没有抽象方法

    子类必须重写父类抽象方法

    ################### day11 接口 ##################
    interface 成员方法全抽象,成员变量为常量
    public abstract 返回值类型 方法名(参数列表) # 成员方法必须此格式
    public static final int a = 1;
    # 可以不写修饰符,选择性写修饰符,但本质是一样的

    可以实现多接口,但多个接口不能有相同的(函数名,参数列表)返回值不同
    接口可以 extends 别的多个接口

    多态 FU f = new ZI()  父类(接口)引用指向子类对象
    出现自动类型提升,子类提升为父类类型,向上转型
    只能调用父子共有的方法,不能调用子类特有的方法
    ZI z = (ZI)f 向下转型

    #多态

    成员变量,静态成员方法
    编译看父类
    运行看父类
    f.a 调用的是父类的成员变量,若无,报错

    非静态成员方法
    编译的时候看父类
    运行的时候看子类

    instanceof 判断一个引用变量是不是某个类对象
    p instanceof People

    ########### day12 构造方法,this, super ##########
    构造方法格式 权限 类名(参数列表) 同C++,默认有无参构造方法规则,同C++

    this(参数列表) 在一个构造函数中调用另一个构造函数,必须写在构造函数的第一行
    参数列表应匹配相应构造函数的参数列表

    super(参数列表) 在子类构造函数中调用父类构造函数,参数列表可为空(调用空参)
    子类中的构造方法会自动调用父类的无参构造方法(若没有显示调用父类构造方法)
    第一行
    super. 调用父类的成员函数与成员变量

    super(), this() 不能同时出现

    子类内存空间分为父类空间和子类空间,同C++
    子类的所有构造方法都要直接、间接的调用父类构造函数

    ########### day13 final static 匿名对象 内部类 包 ########
    # final
    修饰类, 不可被继承
    修饰方法, 不能被重写

    修饰变量, 一次赋值,不能被改变, 同C++ const

    修饰引用数据类型, 变量保存的内存地址不能改变 同C++ const

    修饰成员变量
    成员变量的赋值,在创建对象前赋值
    1、final int age= 1; 直接赋值(recommend)
    2、构造方法赋值
    final int age;
    public People(int age)
    {
    this.age = age;
    }

    # static 同C++
    修饰类成员, 成为对象共享数据,不属于某个对象,类共有,同C++
    可以用类名调用, 存在于静态区,有默认值

    public static final String SCHOOL_NAME = "itcast";
    常量大写,单词之间加下划线
    匿名对象:做参数,做返回值

    内部类可以使用外部类成员
    外部类要使用内部类的成员,必须建立内部类对象

    调用规则
    外部类名.内部类名 变量 = new 外部类().new 内部类();
    变量.内部类成员

    同名变量的调用
    调用外部类成员 outer.this.i;
    调用内部类成员 this.i;
    调用局部变量 i;

    局部内部类
    在方法里面建立内部类对象,对象进行调用

    # 匿名内部类

    定义实现类,重写方法,创建实现类对象一步完成

    new 接口/父类(){
    重写抽象方法
    }.方法;

    多态的方式
    接口/父类 变量 = new 接口/父类(){
    重写抽象方法
    };
    变量.方法1;
    变量.方法2;

    class XXX implements Smoking{                                      new Smoking(){
      public void smoking()    等价于            public void smoking() 
      { }                           {   }
    }                           }.smoking();

    XXX x = new XXX();
    x.smoking();

    包相当于文件夹   包名网址反写

    代码块执行顺序
    static 代码块,只执行一次
    构造代码块
    构造方法

    WE ARE ALL IN THE GUTTER, BUT SOME OF US ARE LOOKING AT THE STARS
  • 相关阅读:
    HDU2027 统计元音 一点点哈希思想
    湖南工业大学第一届ACM竞赛 数字游戏 字符串处理
    湖南工业大学第一届ACM竞赛 我素故我在 DFS
    HDU3293sort
    HDU2082 找单词 母函数
    HDU1018 Big Number 斯特林公式
    湖南工业大学第一届ACM竞赛 分糖果 位操作
    UVA 357 Let Me Count The Ways
    UVA 147 Dollars
    UVA 348 Optimal Array Multiplication Sequence
  • 原文地址:https://www.cnblogs.com/YKang/p/7260033.html
Copyright © 2011-2022 走看看