IT十八掌作业_java基础第五天_静态代码块类的继承和接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IT十八掌作业_java基础第五天_静态代码块类的继承和接口相关的知识,希望对你有一定的参考价值。
1.文字阐述静态代码块的作用。
A:静态代码块常用来执行类属性的初始化,且只被执行一次.
2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么?
执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。 和位置无关。
构造代码块在每次创建对象是都会执行。
3.类加载时,是否一定会执行静态代码块?如何手动控制类加载?
类加载时默认加载静态代码块,class.forName(String name) 或 class.forName(String name,boolean initialize,ClassLoader loader),后一种可以控制
类加载时是否运行静态代码块。
4.定义类Person,Man,Woman形成继承关系。
class Person
{
private String name;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name ;
}
}
class Man extends Person
{
}
class Woman extends Person
{
}
5.什么是抽象方法?什么是抽象类?抽象类是否有构造函数,是否可以重载?
抽象方法就是以abstract修饰的方法,该方法只声明返回的数据类型、方法名称和所需的参数,没有方法体。
以abstract 修饰的类,就是抽象类。所有类都有构造函数,也可以重载,抽象类也是类,所以也一样。
6.抽象修饰符有哪些非法组合?并给出合理的解释?
abstract + static 是非法的修饰组合,static可以通过类名访问的公共属性,抽象的直接访问,没有意义。
abstract + final 是非法的修饰组合。 final修饰的就是最终的,不能更改,抽象需要去实例化的,需要操作。
abstract + private 是非法的修饰组合。抽象类需要子类来继承和实现,私有是不能继承的。
7.super和this作用以及用法以及注意事项?
super指的是父类。
this指的是类本身。
8.定义接口
1.IWhite
2.IRich
3.IBeanti
4.定义类,实现以上三个接口.(WomenStar)
5.定义土豪类(EarchRicher.marring(...))
interface IWhite
{
abstract public void skinWhite();
}
interface IRich
{
abstract public void rich();
}
interface IBeanti
{
abstract public void beanti();
}
interface WRB extends IWhite,IRich,IBeanti
{
}
class EarchRicher
{
public void marring(WRB w)
{
System.out.println("marring");
}
}
class InterfaceDemo
{
public static void main(String [] args)
{
WRB womenStar = new WRB(){
public void skinWhite()
{
System.out.println("I‘m while");
}
public void rich()
{
System.out.println("I‘m rich");
}
public void beanti()
{
System.out.println("I‘m beanti");
}
};
EarchRicher richMan = new EarchRicher();
richMan.marring(womenStar);
}
}
以上是关于IT十八掌作业_java基础第五天_静态代码块类的继承和接口的主要内容,如果未能解决你的问题,请参考以下文章