方法重载和方法重写的区别;this与super的区别;抽象类和接口的区别;Static修饰方法,变量的特点;final修饰类,方法,变量的特点。

1.请论述方法重载和方法重写的区别
方法重载:
public void test(参数1 变量名称1,参数2 变量名称2,...){
}
(1)有些情况下,对象的同一种行为可能存在多种实现过程。
(2)用哪种实现方式要看调用者给定的参数。
(3)对象想要输入什么数据,就给模板的方法中定义什么样的数据。
方法重写:
class a{
String name;
public void run(){
   }
}
class B extends A{
public void run(){
System.out.println("快乐的跑。");
   }
}
(1)是针对父类与子类而言的。
(2)当父类提供的方法无法满足子类需求时,子类将重写这个父类的方法,进行覆盖。
2.请论述this与super的区别
this:
(1)调用实例属性,实例方法。
     this.name;
     this.sayHi();
(2)调用本类中的其他构造方法,即可复用构造方法中的逻辑代码。
     this();
     this(实参);
(3)this是类中的默认引用,代表当前实例,即是模板中的当前对象,模板服务于哪个对象,this就指向哪个对象。
(4)像一个指针。
(5)当实例变量与局部变量重名时,优先访问局部变量,此时,如果要访问实例变量,就要加this.(没有重名则this可以省略,不过最好写上,一目了然)
super:
(1)当子类重写了父类的方法后,还想要调用父类的方法,那么就要用super();
(2)super.父类属性;    super父类方法();
(3)super();表示在子类构造方法的首行,调用父类的无参构造方法。
     super();
     super(实参);
(4)在同一个子类构造方法中,this();与super();不能同时存在。
3.请论述抽象类和接口的区别。
抽象类:
(1)面向对象的概念即是:用编码还原真实的世界。而有些我们定义的父类并不是现实生活中真实存在的东西,所以这些类我们要将其变为抽象类。
(2)被abstract修饰的的类称为抽象类。不能new对象。
(3)可以被子类继承,可以为子类提供共性;构建子类对象时,先构建父类对象。
(4)只用方法声明,没有方法实现。
abstract class Animal{
public abstract void eat();//只用方法声明,没有方法实现。

}
接口:
(1)接口相当于特殊的抽象类。其中只定义公开静态常量、公开抽象方法。
(2)与抽象类相同处:
     a.可编译成字节码文件
     b.不能创建的对象
     c.可以作为引用类型
     d.具备Object类中所定义的方法
     与抽象类不同处:
     a.所有属性都是公开静态常量。
     b.所有方法都是公开抽象方法,隐式public abstract修饰
     c.没有构造方法,动态代码块,静态代码块。
4.请论述Static修饰方法,变量的特点。
(1)静态方法允许直接访问静态成员。
(2)静态方法不能直接访问非静态成员
(3)静态方法中不允许使用this,super关键字
(4)静态方法可以继承
(5)static可以修饰属性和方法。静态属性,静态方法。访问静态属性和方法时,可通过“类名.静态属性名”以及“类名.静态方法名”来访问。
(6)不必创建对象,也可通过类名,直接访问静态成员。
(7)静态方法
     本类中访问:静态方法名()
     其它类中访问:类名.静态方法名()
     由static 修饰的静态方法:
     public static void method(){}
5.请论述final修饰类,方法,变量的特点。
(1)final 最后的,不可更改的。
(2)final可以修饰:
     类:最终类。此类不可被继承,String,Math,System均被final继承
     方法:最终方法。 此变量不能被修改。(常量)所有final修饰的变量只能赋值一次,值不允许改变。
     变量:最终变量。(静态常量)静态常量不再提供默认值,必须手动赋予初始值。(赋值时机:显示初始化、静态代码块)
(3)对象常量:
     a.final修饰基本类型,值不变。
     b.final修饰引用类型:地址不可变。


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值