JAVA学习笔记1

发布时间 2023-10-07 10:49:22作者: 流年忘却悲伤

private 封装 extends继承 编译类型是爷爷 多态

点击查看代码

package com.hspstudy.Test1;

public class Extend_ {
    public static void main(String[] a) {
        GraFather graFather = new GraFather("勤才", "很强", "Smoking");
        GraFather father = new Father("平", "非常强", "soilder");
        GraFather mine = new Mine("康", "弱", "book","studying");
        String name = graFather.getName();
        System.out.println(mine);
    }

}
/*
    构造器儿子需要四个构造器,空的,有自己的,有父亲的,有爷爷的
    private 封装  extends继承   编译类型是爷爷 多态

    作用域很重要呀
 */
class Mine extends Father{
    private String sprint;
    public Mine(String name,String babay,String habay,String work) {
        super(name,babay,habay,work);

    }
    public Mine(String name,String babay,String habay,String work,String sprint) {
        super(name,babay,habay,work);
        this.sprint = sprint;
    }

    public String getSprint() {
        return sprint;
    }

    public void setSprint(String sprint) {
        this.sprint = sprint;
    }

    @Override
    public String toString() {
        return "Mine{" +
                "sprint='" + sprint + '\'' +
                '}';
    }
}
class Father extends GraFather{
    private String work;
    public Father(String name,String babay,String habay) {
        super(name,babay,habay);
    }
    public Father(String name,String babay,String habay,String work) {
        super(name,babay,habay);
        this.work = work;
    }

    public String getWork() {
        return work;
    }

    public void setWork(String work) {
        this.work = work;
    }
}
class GraFather{
    private String name;
    private String baday;
    private String habay;

    public GraFather(String name, String baday, String habay) {
        this.name = name;
        this.baday = baday;
        this.habay = habay;
    }
    public void setName(String NA){
        this.name = NA;
    }
    public String getName(){
        return this.name;
    }

    public String getBaday() {
        return baday;
    }

    public void setBaday(String baday) {
        this.baday = baday;
    }

    public String getHabay() {
        return habay;
    }

    public void setHabay(String habay) {
        this.habay = habay;
    }

    @Override
    public String toString() {
        return "GraFather{" +
                "name='" + name + '\'' +
                ", baday='" + baday + '\'' +
                ", habay='" + habay + '\'' +
                '}';
    }
}

作用域
1.在Java中最主要的是成员变量(属性)和局部变量。
2.局部变量是成员方法中的变量
3.Java中作用域分类:
(1)全局变量:也就是属性,作用于整个类体。
(2)局部变量:除属性外的其他变量,作用域为定义它的代码块中。
4.全局变量可以不赋值,因为有默认值。局部变量必须赋值后使用,因为没默认值。
使用细节之处
1.属性和局部变量可以重名,访问时遵循就近原则
2.同一个作用域即成员方法中,两个局部变量不可以重名。
3.属性的生命周期较长,随着对象生存。局部变量生命周期较短,随着代码块生存(在一次方法调用过程中)。
4.作用域范围不同
全局变量:可以在本类使用,或其他类使用(通过对象的调用)
局部变量:只能在本类方法中使用
5.修饰符
全局变量/属性可以加修饰符
局部变量不可以加修饰符