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

代码块

什么是代码块?

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

代码块有哪几类?

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方法实现操作










你可能感兴趣的:(Java)