Java序谈之代码块和继承知识

来源:互联网 发布:php贴吧盖楼源代码 编辑:程序博客网 时间:2024/06/06 08:52

代码块

什么是代码块?

代码块简单来说就是一对“{ }”,在大括号中写入内容

代码块有哪几类?

1、局部代码块

位置:在方法中

定义在方法中,限制了代码块中变量的声明周期

2、静态代码块

位置:在类中,方法外

特点:用于给类进行初始化,随着类的加载而加载,只会执行一次

作用:用于加载驱动程序,用于加载JDBC连接数据库

3、构造代码块

位置:在类中,方法外

用于给你所有的对象进行统一初始化

4、同步代码块

继承

什么是继承?

继承是类与类之间的一种关系,是面向对象思想的特征之一,关键次是extends

继承的特点是什么?

1、提取了几个类中共有的代码部分,写成一个父类

2、减少了代码的编写,减少了工作量

满足继承的逻辑条件是什么?

满足类与类之间是 is - a 的关系,一个类是另一个类的一种

this和super

this:代表的是本类对象的引用

super:代表父类对象的引用

重写和重载的定义与区别?

重写:一般出现在类与类的继承中,子类和父类中有相同的函数,这时候出现子类函数将父类函数重写的现象。

重载:一般在类中,出现函数名相同,但是参数列表不同的情况。

继承的时候子类与父类出现同名成员变量和同名方法怎么解决?

代码示例:

public class Demo05this语句 {public static void main(String[] args) {Apple apple = new Apple();apple.print();}}class  Fruit{int num2 = 20;public void print() {System.out.println(this.num2);}}class Apple extends Fruit{int num2 = 30;public void print() {super.print();System.out.println(this.num2);System.out.println(super.num2);}}
同名变量:在子类中使用super.变量名的方式调用、输出。注意这是一个值,不可单独做语句,需要语句接收或者直接输出

同名方法:建立对象调用方法,出现父类方法被覆盖的现象,这时候可以在方法中使用super.方法名的方式进行调用父类方法

final关键字的作用?

1、修饰类:类不可别继承

2、修饰变量:变量仅可被初始化一次,之后数值无法更改,变量名大写,单词之间用"_"隔开

3、修饰方法:方法不可被重写

类的内容的书写顺序是什么?

私有化成员变量

静态代码块

构造代码块

构造函数

成员函数(局部变量)

继承的正规代码书写格式

代码示例:

public class Demo08示范继承类 {public static void main(String[] args) {Teacher A = new Teacher("wangning",18);A.Teach();Teacher B = new Teacher();B.setName("sss");B.Teach();}}class Person {private String name;private int age;public Person() {}public Person(String name,int age) {this.name = name;this.age = age;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age =age;}public int getAge() {return age;}}class Teacher extends Person {public Teacher() {}public Teacher(String name,int age) {super(name,age);}public void Teach() {System.out.println(this.getName()+"讲课");}}

如何修改被私有化的成员变量的值?

1、当类不被继承的时候

  • 使用构造函数进行初始化
  • 建立对象后,使用set和get方法进行操作

2、当类被继承的时候

  • 使用子类构造函数,并使用super()语句实现操作
  • 建立对象使用父类set和get方法实现操作










原创粉丝点击