Guardianship_通过本文主要向大家介绍了java,面向对象,class等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
代码块
什么是代码块?
代码块简单来说就是一对“{ }”,在大括号中写入内容
代码块有哪几类?
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方法实现操作

