ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-08-04 20:30:26  阅读:179  来源: 互联网

标签:Java 面向对象编程 img 之主备 接口 构造方法 https 变量 Zi


}

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有