Java基础第五天_静态代码块、类的继承和接口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java基础第五天_静态代码块、类的继承和接口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2589字,纯文字阅读大概需要4分钟。
内容图文
1.文字阐述静态代码块的作用。
2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么?
3.类加载时,是否一定会执行静态代码块?如何手动控制类加载?
4.定义类Person,Man,Woman形成继承关系。
5.什么是抽象方法?什么是抽象类?抽象类是否有构造函数,是否可以重载?
6.抽象修饰符有哪些非法组合?并给出合理的解释?
7.super和this作用以及用法以及注意事项?
8.定义接口
1.IWhite
2.IRich
3.IBeanti
4.定义类,实现以上三个接口.(WomenStar)
5.定义土豪类(EarchRicher.marring(...))
1.
1.局部代码块
在函数内部定义
不能使用static修饰
2.构造代码块
也是类的成员,和成员变量和成员函数同级
构造对象时 ,先调用构造代码块,然后是构造函数。
构造代码块,加static修饰符就变成静态代码块,
静态代码块在类加载的时候执行,而且只执行一次
3.静态代码块
构造代码块+static 修饰符
静态代码块在类加载的时候执行,而且只执行一次
手动控制类加载使用Class.forName("classname") 默认加载类时 执行代码块
Class.forName(String,boolean initialize,ClassLoader) 可以控制加载时是否初始化
2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么?
构造对象时 ,先调用构造代码块,然后是构造函数。跟位置无关。
作用:a.对成员变量初始化
b.构建多个代码块进行方法重载
3.类加载时,是否一定会执行静态代码块?如何手动控制类加载?
默认执行静态代码块
手动控制类加载使用Class.forName("classname") 默认加载类时 执行代码块
Class.forName(String,boolean initialize,ClassLoader) 可以控制加载时是否初始化
4.定义类Person,Man,Woman形成继承关系。
class Person{
}
class Man extends Person{}
class Woman extends Person{}
5.什么是抽象方法?什么是抽象类?抽象类是否有构造函数,是否可以重载?
抽象方法:没有方法体的方法,必须用abstract修饰
抽象方法只能存在于抽象类中
抽象类也必须使用abstract修饰,含有抽象方法的类
抽象类有构造函数,可以被重载。
6.抽象修饰符有哪些非法组合?并给出合理的解释?
abstract + static 是非法的修饰符组合。静态直接访问没有意义,需要实例化后访问
abstract + final 是非法的修饰符组合。final修饰为最终的但是抽象方法需要实例化重写
abstract + private是非法的修饰符组合。private 修饰子类不能继承进行实例化
7.super和this作用以及用法以及注意事项?
this 是指向对象自身的引用
this(...)表示的是调用当前类的构造函数
super 指向父类
super(...) 访问超类的构造函数
都是只能用在第一行
8.定义接口
1.IWhite
2.IRich
3.IBeanti
4.定义类,实现以上三个接口.(WomenStar)
5.定义土豪类(EarchRicher.marring(...))
//白
interface IWhite{
public void white();
}
//富
interface IRich{
public void rich();
}
//美
interface IBeauti{
public void beauti();
}
//白富美集合
interface IBFM extends IWhite,IRich,IBeauti{
}
//开车接口
interface Drive{
public void drive();
}
// 女明星实现这个接口
class WomanStar implements IBFM{
public void white(){
System.out.println("我很白");
}
public void rich(){
System.out.println("我很富");
}
public void beauti(){
System.out.println("我很美");
}
}
//会开车的女明星
class WomanStarDriver extends WomanStar implements Drive{
public void drive(){
System.out.println("会开车");
}
}
//土豪
class RichMan{
public void marry(IBFM i){
System.out.println("有戏");
}
//土豪条件增加会开车
public void drive(Drive d){
System.out.println("好好开");
}
}
//主方法
class MarryDemo{
public static void main(String[] args){
WomanStar w=new WomanStar();
w.white();
RichMan rm=new RichMan();
rm.marry(w);
WomanStarDriver wsd =new WomanStarDriver();
System.out.println("---------------");
wsd.white();
rm.marry(wsd);
rm.drive(wsd);
}
}
本文出自 “作业” 博客,请务必保留此出处http://10718270.blog.51cto.com/10708270/1772223
原文:http://10718270.blog.51cto.com/10708270/1772223
内容总结
以上是互联网集市为您收集整理的Java基础第五天_静态代码块、类的继承和接口全部内容,希望文章能够帮你解决Java基础第五天_静态代码块、类的继承和接口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。