JAVA08-局部变量成员变量、static关键字、继承、重写重载关系知识梳理

变量的取值范围
如果是形参,那么取值范围就是离他最近的右大括号范围内
如果不是形参,那么取值范围就是离他最近的左大括号范围内
所有的变量必须声明并且初始化之后才能使用

局部变量与全局(成员)变量的区别
局部变量
局部变量定义在方法中,局部变量在栈内存中,局部变量随着方法的调用而产生,随着方法的调用结束而结束。局部变量没有默认值,需要手动声明后赋值。
全局(成员)变量
成员变量定义在类中方法外,成员变量在堆内存中,成员变量随着对象的创建而创建,随着对象的消失而消失,成员变量有默认值,只需要声明即可使用。
注意
只要是变量,那么他在栈内存中就无法独立存在,jvm会对所有的变量进行初始化
但是在《think of java》书中,所有的变量都会被初始化,但是考虑到局部变量在方法内部既然被声明出来,那么作为开发者一定会使用该变量,所以防止开发者多设了无关的变量或者忘记使用某一变量,我们让局部变量不初始化就报错是一种善意的提醒

static关键字
静态,可以修饰方法,称之为静态方法,又可以修饰属性,称之为静态属性

静态即是类
加static的:类方法,类属性
不加static的:对象方法,对象属性

调用:
1.对象的属性和方法是需要通过new对象之后才能调用的
2.类的属性和方法是需要通过类名去直接调用的,(其实对象也可以调用)

静态方法:
又称之为类方法,他是类的组成,所以用类名去调用
用对象去调用也可以,但是会有警告
public static void eat(){
System.out.println(“正在吃饭…”)
}

静态属性
又称之为类属性,他是类的组成,所以用类名去调用
用对象去调用也可以,但是会有警告

总结:
静态方法(类方法),不可以直接发起对非静态属性和非静态方法的调用(有了类,不一定有对象)

成员方法能发起对静态属性和静态方法的调用(有了对象,一定有类)

继承(extends)

继承的好处:
1.减少代码冗余,提高代码的可复用性
2.允许开发人员创建出分等级层次的类

继承的特点:
1.子类去继承父类的非私有属性和行为
2.私有属性和行为不能被继承
3.构造方法不能被继承
4.java中的继承都是单继承,可以实现多重继承(继承具有传递性)

方法的重写
在继承过程中,子类中从父类继承来的方法无法满足自己的需求时,可以在子类中对父类方法进行完善,这个完善过程叫做方法重写(override),方法的重写相当于在子类中覆盖父类中的方法。

重写的要求:
1.首先要有继承
2.子类用自己的方式去改写了继承自父类的方法的方法体

重写的语法
1.方法上一定要有@Override这样的注解来标识该方法是重写
2.重写的方法不能拥有比父类方法更严格权限修饰符
3.重写的方法和被重写的方法具有相同的返回值,方法名,参数列表

重写与重载:
override和overload
重写和重载
方法的重载:Overload,在同一个类中,方法名相同,参数类型,个数,顺序不同,互为重载方法。与返回值无关
方法的重写:Override,在继承过程中,在子类中重写父类中继承来的方法,方法名相同,参数列表、返回值必须相同,访问权限不能比父类严格。
重载时一种静态的多态,重写是一种动态的多态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值