Hello 大家好,我又来啦,今天我们来说说Java的面向对象。

还记得之前去面试几家公司的实习生职位,大部分面试官都问过我有关面向对象 的问题,不知道以后还会不会问,估计是不会了吧。。。(:3[▓▓]

下面我们来说正事!(≖ ‿ ≖)✧

面向对象特点有四个——封装、继承、多态、抽象

封装:

封装的概念:方法的调用者并不清楚方法的具体业务逻辑,只有方法的实现者才清楚方法的具体实现。

封装的理解:Java将相关变量和方法封装到类中,通过可见性实现封装。

可见性有四个关键字:

1.private:当前类可见

2.protected:当前类&本包可见

3.default:(默认)当前类&本包&外包子类可见

4.private:都可见

class的可见性要么是public,要么是本包可见

一般情况下都是方法公有化(public)属性私有化(private)

继承:

继承的概念:子类可以继承父类所有属性和方法,但是由于可见性的原因,子类只能使用所有父类的非私有化属性和方法(构造器除外)。

※要注意继承是单向的,不可以互相继承

多态:

多态就是重写和重载了,区别就是重载和参数有关,重写和对象有关

重载方法可以发生在两个类中,也可以发生在一个类中,方法名一致,参数类型不同,与返回值无关。

重写一定发生在两个类中,方法名一致,参数类型一致,方法返回类型一致,返回类型一致。

   //方法test体现重载  方法testTest体现重写
public class A {
public void test(int a){
return "a";
} public void test(long a){
return "aa";
} public void testTest(int b){
return "b";
}
} public class B extends A{
public void testTest(int b){
return "bbbbbb";
}
}

抽象:

抽象的概念包括接口和抽象类。

public interface A{}

接口特点:不能实例化对象

      只有常量

      只有抽象方法,没有普通方法

        一定被实现

        接口是特殊的抽象类

悄悄告诉你(`・ω・´) :一个类可以实现多个接口  ||  抽象类可以实现接口  ||  接口可以继承接口  ||  不能实现接口)

public abstract class A{}

抽象类特点:不能实例化对象

      有构造器(有成员变量,需要初始化化)

      可以有常量&变量

      可以有普通方法&抽象方法

      一定被继承,实现就得重写抽象方法

抽象类的优点:可以被多次♂利用。

抽象方法一定在抽象类中,抽象类中不一定有抽象方法。

 好了! 以上就是目前我在Java面向对象方面的小小见解了!希望能够帮到大家!
 我们下期再见!

 

Java基础——面向对象的更多相关文章

  1. java基础面向对象之类与对象

    java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...

  2. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

    前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...

  3. Java基础-面向对象第三大特性之多态(polymorphism )

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  4. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  5. Java基础-面向对象第一特性之封装(Encapsulation)

    Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...

  6. JAVA(一)JAVA基础/面向对象基础/高级面向对象

    成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...

  7. 九、Java基础---------面向对象封装、继承、多态

    封装 1.1 基本概念  封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...

  8. 面试题-Java基础-面向对象

    1.面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改.代码复用.增强代码的可靠性和灵活性.增加代码的可理解性.面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会 ...

  9. JAVA基础——面向对象三大特性:封装、继承、多态

    JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...

随机推荐

  1. BZOJ3210: 花神的浇花集会(坐标系变换)

    题面 传送门 题解 坐标系变换把切比雪夫距离转化为曼哈顿距离 那么对于所有的\(x\)坐标中,肯定是中位数最优了,\(y\)坐标同理 然而有可能这个新的点不合法,也就是说不存在\((x+y,x-y)\ ...

  2. jmeter - jp@gc - Active Threads Over Time(多台负载用户)

    问题: 线程数设置:30,远程启动2台机子 查看 jp@gc - Active Threads Over Time图,发现只统计了1台机子的线程数,线程数并不是60: 解决办法: 官方文档中提到: 1 ...

  3. 调用jdbc已经写成的方法----jdbc工具类抽取方式一

    package web09; /*获取连接和释放资源的方法 */ import java.sql.Connection; import java.sql.DriverManager; import j ...

  4. 6、TensorFlow基础(四)队列和线程

    队列和线程 和 TensorFlow 中的其他组件一样,队列(queue)本身也是图中的一个节点,是一种有状态的节点,其他节点,如入队节点(enqueue)和出队节点(dequeue),可以修改它的内 ...

  5. Python pip离线部署

    因为生产环境不能联网,必须使用离线部署pip包,倒也不用部署Pypi镜像那么大工作量,其实蛮简单的,贴出了备忘 pip download -r requirements.txt -d packages ...

  6. 2019.04.04 第二次训练 【ACM International Collegiate Programming Contest, JUST Collegiate Programming Contest (2018)】

    题目链接:https://codeforces.com/gym/101853 A: ✅ B: (二分图匹配) https://blog.csdn.net/qq_41997978/article/det ...

  7. JavaIO流总结

    字节流 InputStream FileInputStream FilterInputStream BufferedInputStream DataInputStream PushbackInputS ...

  8. [Xamarin.Android] 如何使用Google Map V2 (转帖)

    Google Map v1已經在2013年的3月開始停止支援了,目前若要在你的Android手機上使用到Google Map,就必須要使用 到Google Map v2的版本.在Xamarin要使用G ...

  9. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

  10. Kibana插件sentinl实现邮件报警

    为什么会突然想用到对日志的异常内容进行邮件报警,是因为在上周公司的线上业务多次出现锁表,开发在优化sql的同时,我也在想是不是可以对日志的异常内容进行检测并实现邮件预警. 在网上查询了一些资料后,决定 ...