A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


今天我们进入到了就业班,学习了面向对象三大特性的第二个,继承,请根据自己的理解,回答下面问题。
1.方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明

2.什么是方法的重写?继承后方法重写要注意哪几点?

3.什么情况下会用到Static关键字?

4.使用静态成员的注意事项?

9 个回复

倒序浏览
1.方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明
  成员变量:遵从就近原则,先从方法中的局部变量开始,如果没有;就到本类中的成员变量中寻找;如果没有,就直接到
                   父类寻找,还是没有的话就报错
  成员方法:遵从就近原则,本类方法开始寻找,没有的话找父类方法,没有则直接报错
  构造方法:子类创建对象调用构造方法,在子类的构造方法中默认有一个super(),调用父类的无参构造方法;
                  可以自己手动添加,默认的super()就会消失;
注意:当父类的指定有参构造时,默认无参会消失,这时候如果直接创建子类对象会报错
  解决方法一:在子类的构造中调用父类的有参构造
  解决方法二:手动为父类添加有参构造

2.什么是方法的重写?继承后方法重写要注意哪几点?
   方法的重写:当子类和父类的方法重名且参数一致时,为方法重写
   使用场景一:对父类方法逻辑不满意,重新编写子类自己的逻辑
   使用场景二:对父类的逻辑想要更加完善,首先需要在重写的方法调用父类方法,在编写自己的逻辑

   重写注意点:1.子类重写的方法名需要与父类方法名一致
                       2.子类重写方法参数列表与父类方法参数列表一致
                       3.子类重写方法访问权限不低于父类方法权限
                       4.返回值需要一致
                       5.子类重写方法抛出异常(范围)不大于父类

3.什么情况下会用到Static关键字?
   static 被类中所有对象共享,存放在方法区中的静态区,在类开始编译时,就已经存在
   一般当类中有需要共享的方法或者变量时,需要用到static

4.使用静态成员的注意事项?
   静态方法(变量)中只能访问静态方法(变量):非静态方法(变量)初始时间慢与静态方法(变量)
   非静态方法(变量)可以访问静态方法(变量)和非静态方法(变量):非静态初始化完成时,静态方法(变量)早已加载完毕
回复 使用道具 举报
2.什么是方法的重写?继承后方法重写要注意哪几点?
方法的重写:子类定义的方法的方法名,参数列表要和父类的方法名、参数类表一致
继承后方法重写要注意:
子中的重写成员方法权限修饰符范围要不小于父类的成员方法。父类用private修饰的方法不能被重写。

3.什么情况下会用到Static关键字?
(1)当成员属性或者成员方法被所有对象共享使用,且内容相同,就可以用static将其修饰为类属性、类方法,这样所有对象都共享这个类属性、类方法。
(2)在不创建对象的前提下调用其他类的方法,可以将那个方法用static修饰成为静态方法,就可以用类名.方法名调用了。

4.使用静态成员的注意事项?
    静态成员只能访问静态成员,不能访问非静态成员。
静态成员可以不创建对象直接用类名调用。
回复 使用道具 举报
1.方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明

创建的对象是谁,就优先用谁,如果没有就向上找。

无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的


2.什么是方法的重写?继承后方法重写要注意哪几点?

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。


3.什么情况下会用到Static关键字?



静态方法常用于工具类和辅助方法。


4.使用静态成员的注意事项?

静态字段属于所有实例“共享”的字段,实际上是属于class的字段;

调用静态方法不需要实例,无法访问this,但可以访问静态字段和其他静态方法;

静态方法不可以访问非静态字段和非静态方法
回复 使用道具 举报
1.什么是方法的重写?继承后方法重写要注意哪几点?
答:方法的重写是在子类继承父类情况下,子类重新扩展父类已经有的方法,方法格式不变,方法内功能改变。
需要注意:1.方法名与父类方法名相同,方法参数不变。
                 2.带有private(私有方法)访问修饰符的方法无法被重写。
                 3.重写后子类的方法访问修饰符必须是大于或等于父类方法的访问修饰符。(public > 默认 > 私有)

2.什么情况下会用到Static关键字?
答:1.当成员属性或者成员方法被所有对象共享使用,且内容相同,就可以用static将其修饰为类属性、类方法,这样所有对     象都共享这个类属性、类方法。
    2.在不创建对象的前提下调用其他类的方法,可以将那个方法用static修饰成为静态方法,就可以用类名.方法名调用了。

3.静态代码块会在什么时候执行?
答:在类被加载进jvm中时立刻执行。

4.使用静态成员的注意事项?
答:静态成员只能访问静态成员,不能访问非静态成员。静态成员可以不创建对象直接用类名调用。

回复 使用道具 举报
1.方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明

2.什么是方法的重写?继承后方法重写要注意哪几点?

3.什么情况下会用到Static关键字?

4.使用静态成员的注意事项?
回复 使用道具 举报
1.继承中成员变量的访问特点:
本类局部有找局部,没有找本类成员,再没有找父类成员,都没有报错

继承中成员方法的访问特点:
本类成员位置有,找本类,没有找父类成员位置,都没有报错

继承中构造方法的访问特点:
子类的构造方法必须要调用父类的构造方法,如果不写父类的构造,默认送一个空参构造
注意:父类不提供空参,要么手动补一个空参,要么调用父类带参


2.重写:
子父类,子类存在和父类方法名相同,参数列表也相同的方法,叫做子类重写了父类的方法

方法重写的注意事项
1. 私有方法不能被重写(父类私有成员子类是不能继承的)
2. 子类方法访问权限不能更低(public > 默认 > 私有)
方法的权限修饰符:访问的范围
private 私有的,只能在本类中访问
public 公共的,在模块中都可以访问


3.在类中经常会定义出一些共享的内容,重复写很麻烦,定义在类中,类又不通用的时候


4.静态只能访问静态的,不能访问非静态(产生的时间轴问题,静态优先于非静态产生,所以静态只能访问静态,不能访问非静态,因为不确定非静态的内容是否出现)
  非静态可以访问静态,可以访问非静态(当非静态产生的时候,证明对象已经出现了,静态内容肯定有了,所以可以访问)
回复 使用道具 举报
唐熙 中级黑马 2019-8-18 22:01:20
8#
1、        方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明
①        成员变量的访问特点:
本类局部有找局部,然后找本类成员,再次找父类成员,如果都没有就报错。
②        成员方法的访问特点:
先找本类的成员方法,然后找父类成员方法,如果都没有就报错。
③        构造方法的访问特点:
子类的构造方法必须要调用父类的构造方法,如果不写父类的构造,默认送一个空参构造。如果有写有参构造方法,则需手动添加一个空参构造。如果无法调用父类的构造方法就会报错。


2、什么是方法的重写?继承后方法重写要注意哪几点?
1)方法的重写:在子父类中,子类中包含的方法名称和参数列表和父类的方法都相同
2)需注意:①私有方法不能被重写;②子类方法的访问权限不能比父类更低。


3.什么情况下会用到Static关键字?
当一个类的成员(变量或方法)中被所有对象共享数据,可以使用static修饰,该成员可以直接被类访问,不用创建对象。


4.使用静态成员的注意事项?
①        被修饰的成员属于类,不属于对象;②静态成员只能访问静态成员,不能访问非静态成员;非静态成员可以访问静态成员,也可以访问非静态成员。
回复 使用道具 举报


今天我们进入到了就业班,学习了面向对象三大特性的第二个,继承,请根据自己的理解,回答下面问题。
1.方法的访问特点是什么,请从成员变量、成员方法、构造方法三个角度去说明
答:成员变量:在子类方法中访问一个变量,采用的是就近原则:①:子类局部范围找;②:子类成员范围找;③:父类成员范围找;④:如果都没有就报错(不考虑父亲的父亲…)
成员方法:①子类成员范围找;②:父类成员范围找;③:如果都没有就报错(不考虑父亲的父亲…)
构造方法:子类中所有的构造方法默认都会访问父类中无参的构造方法;子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认都是:super()

2.什么是方法的重写?继承后方法重写要注意哪几点?
答:重写:子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)
注意事项:①私有方法不能被重写(父类私有成员子类是不能继承的);②:子类方法访问权限不能更低(public > 默认 > 私有)

3.什么情况下会用到Static关键字?
答:当一个类中被所有对象共享的数据,可以使用static修饰

4.使用静态成员的注意事项?
答:静态成员只能访问静态的成员变量(成员方法)。
回复 使用道具 举报
1、成员变量访问:访问方法内部的变量
访问本类中的成员变量
访问父类中的成员变量;
在子类中访问方法,
先在子类成员变量例找
然后在父类成员变量里找
最后没找到报错(同样不考虑父类的父类。。。。)
构造方法:默认送一个无参构造,你自己写了,就不送了
2、子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)就叫重写;私有方法不能被重写(父类私有成员子类是不能继承的),子类方法访问权限不能更低(public > 默认 > 私有)
3、一般当类中有需要共享的方法或者变量时,需要用到static
4、静态成员方法只能访问静态成员
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马