数据库
首页 > 数据库> > MySQL高可用之主备同步:Java面向对象编程的三大特性:封装

MySQL高可用之主备同步:Java面向对象编程的三大特性:封装

作者:互联网

}

public class Test {

public static void main(String[] args) {

Fu fu = new Zi();

fu.show();// show Zi....

}

}




> 多态的向下转型:因为多态有一个弊端,就是无法去访问子类中独有的功能(特有的成员方法),这时候我们就需要向下转型,来对子类中特有的成员方法来进行访问。



class Fu {

private String name;

public String getName() {

return this.name;

}

public void show() {

System.out.println("show Fu...");

}

}

class Zi extends Fu {

Zi zi = new Zi();

zi.getName();

public void show() {

System.out.println("show Zi...");

}

public void show2() {

System.out.println("show2 Zi...");

}

}

public class Test {

public static void main(String[] args) {

Fu fu = new Zi();

fu.show();// show Zi...

// fu.show2(); // 编译报错

Zi zi = (Zi)fu;// 向下转型

zi.show2(); // show2 Zi...

}

}




#### [](https://gitee.com/vip204888/java-p7)2.接口和抽象类的区别



> 抽象类:abstract,有抽象方法的一定是抽象类,没有抽象方法的类也 可以是抽象类。

> 

> ​ 成员变量:可以是变量,也可以是常量(final修饰的变量, 最终的意思,不能进行二次赋值)

> 

> ​ 成员方法:可以是非抽象方法,也可以是抽象方法(具体的 子类继承时必须重写所有的抽象方法)

> 

> ​ 构造器(构造方法):无参构造方法(当类中没有有参构造 方法时,系统会默认给出当前类的无参构造方法),有参构 造方法;

> 

> 注意:子类继承父类时,子类中所有的构造方法,第一行会默认访问父类的无参构造方法,如果父类中只有有参构造方法,则子类无法引用,会报错。

> 

> 解决方法:1.给出父类的无参构造方法

> 

> ​ 2.在子类的构造方法中手动给出父类的有参构造方法



> 接口:public abstract

> 

> ​ 成员变量:只能有final static 变量,不能有其他变量。

> 

> ​ 成员方法:所有方法都是抽象方法没有具体实现

> 

> 注意:接口中没有构造器(构造方法),在JDK8中,接口也可以定义静态方法,直接使用接口名调用。



#### [](https://gitee.com/vip204888/java-p7)3.类与接口的关系



> 类与类:继承关系,单继承,多层继承,不能多继承。

> 

> 类与接口:类实现(implements)接口,可以实现多个接口,用“,”(逗号)隔开,类在继承的同时可以实现接口,且可以实现多个接口

> 

> 接口与接口:接口可以继承接口,可以单继承、多继承、多层继承。



#### [](https://gitee.com/vip204888/java-p7)4.成员变量和局部变量的区别



> 1)语法不同:成员变量在类中,方法外定义,可以被private public static,final等修饰符修饰。局部变量在方法中定义的变量或方法的参数,可以被final修饰,但不能被访问控制修饰符及static所修饰

> 

> 2)内存不同:成员变量被static修饰则属于类变量。如果没有,则成员变量是属于实例的,(对象)成员变量在堆内存中,局部变量在栈内存中。

> 

> 3)生命周期不同:成员变量是对象的一部分,随着对象的创建而存在,使用完毕,在堆内存中等待垃圾回收器CG空闲时进行回收。局部变量随着方法的调用而存在,随着方法的调用结束而自动消失。

> 

> 4)初始化不同:变量可以先进行声明不赋值,成员变量系统会自动以数据类型进行默认赋值,但由final修饰的成员变量必须显式的进行赋值。局部变量在使用之前则必须进行赋值。



1.内容为空的字符常量不被允许,会发生编译错误。



//例:char c = ’ ';// error




2.构造器不可以被重写,但可以重载(即类中有多个构造函数)。

# 知其然不知其所以然,大厂常问面试技术如何复习?

**1、热门面试题及答案大全**

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

> [**面试宝典+书籍+核心知识获取:戳这里免费下载**](https://gitee.com/vip204888/java-p7)!诚意满满!!!

![](https://www.icode9.com/i/ll/?i=img_convert/87c93034107b704c2723923baad1f865.png)

**2、多线程、高并发、缓存入门到实战项目pdf书籍**



![](https://www.icode9.com/i/ll/?i=img_convert/a9a92582739e03e3e98bc8071db39283.png)

![](https://www.icode9.com/i/ll/?i=img_convert/4e23b4eeaaf92364adfd5b3554b08005.png)

![](https://www.icode9.com/i/ll/?i=img_convert/3b465378bdaa056c37a8859be2854f7c.png)

**3、文中提到面试题答案整理**

![](https://www.icode9.com/i/ll/?i=img_convert/971f3d8ef56f1468d990fdef929fb217.png)

**4、Java核心知识面试宝典**

覆盖了**JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**

![](https://www.icode9.com/i/ll/?i=img_convert/87cece793d70e4e450220aeab9d5cde2.png)

![](https://www.icode9.com/i/ll/?i=img_convert/0a62388a82d1a8f2da4074069e42e60c.png)

![](https://www.icode9.com/i/ll/?i=img_convert/ce643fb2ebe0ddd392937e2923db23f8.png)

andra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**

[外链图片转存中...(img-IUO8AY4J-1628079649922)]

[外链图片转存中...(img-6TVR2IUV-1628079649923)]

[外链图片转存中...(img-pWQq9ob2-1628079649924)]

标签:Java,面向对象编程,img,之主备,接口,构造方法,https,变量,Zi
来源: https://blog.csdn.net/m0_56175058/article/details/119392384