Java基础——面向对象
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基础——面向对象的更多相关文章
- java基础面向对象之类与对象
java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...
- 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...
- Java基础-面向对象第三大特性之多态(polymorphism)
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...
- Java基础-面向对象第二特征之继承(Inheritance)
Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- JAVA(一)JAVA基础/面向对象基础/高级面向对象
成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...
- 九、Java基础---------面向对象封装、继承、多态
封装 1.1 基本概念 封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...
- 面试题-Java基础-面向对象
1.面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改.代码复用.增强代码的可靠性和灵活性.增加代码的可理解性.面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会 ...
- JAVA基础——面向对象三大特性:封装、继承、多态
JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...
随机推荐
- 关于Mysql数据库进行多表查询时设计编程思想
SQL代码:
- python学习笔记-练手实例
1.题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列 代码: for i in range(1,10): print ('\r') for j ...
- LG的nexus5(32GB版本 - 821)-TOT-底包 可用于救砖!
LG的nexus5(32GB版本 - 821)-TOT-底包 底层修复效果完美,通过LGflashTool1.8直接刷进去就行~ 底包下载: https://pan.baidu.com/s/1Z5WD ...
- mysql数据库中常用操作汇总
一.查询数据库的基本信息: 1. /* 查询数据库 ‘boss’ 所有表及注释 */SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema ...
- 如何使用robots禁止各大搜索引擎爬虫爬取网站
ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...
- 转一下大师兄的"MySQL高可用架构之MHA"
简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是 ...
- shell-012:批量创建用户
# #!/bin/bash # 批量创建用户 # 分析:用命令给用户创建密码的方法有两种 # . 可以直接用echo的方法 # echo "abc-123" |passwd roo ...
- 洛谷P2523 [HAOI2011]Problem c(计数dp)
题面 luogu 题解 首先,显然一个人实际位置只可能大于或等于编号 先考虑无解的情况 对于编号为\(i\),如果确认的人编号在\([i,n]\)中数量大于区间长度,那么就无解 记\(S[i]\)表示 ...
- SPOJ Lexicographical Substring Search 求字典序第k大子串 后缀自动机
题目传送门 思路:按字典序,小的字符优先选取.对于一个字符,如果以这个字符开头的子串大于等于k个,那说明这个字符是应该选的,并且选完之后,可能还要继续选.如果以这个字符开头的子串小于k个,说明这个字符 ...
- 认识CSS中字体图标
前端之HTML,CSS(十一) 字体图标 使用文字做出小图标的效果并超越了小图标应用精灵图,使得图标变得灵活,减少了请求次数,优化了界面的性能.字体图标本身为矢量图. 字体图标的使用过程 1.UI设计 ...