面向对象的一些基础概念
转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6829538.html
随着编程经验的积累,我对编程的理解也不断的发生变化。最开始学的是算法,然后是数据结构,现在开始学习编程思想,这是一个不断进步的过程。编程思想可能是最基础但却是最重要的,以前对这些概念只是照本宣科,并不理解,现在开始重新关注编程思想,有了更多的理解。在这里对个人理解做个总结和记录。
1.所有类的基类是?
对象(Object)。
2.什么是对象?
对象是对客观事物的抽象。
3.什么是类?
类是对象的抽象。
4.对象和类的联系?
类是对象的模版,对象是类的实例。
5.对象和类的区别?
对象占内存,类不占内存。
6.什么是面向对象?
面向对象(Object Oriented)是一种软件开发方法,是一种对客观事物理解和抽象的方法。
7.什么是属性和方法?
属性是用来描述对象特性的数据,方法是数据的变化过程,是可重用的代码段。
8.面向对象的三大基本特性?
(1)封装:把客观事物封装成抽象的类。隐藏对象的属性和实现细节,仅对外公开接口。
(2)继承:子类可以继承父类的属性和方法,提高了代码的重用性和可扩展性。
(3)多态:子类可以向上转型为父类。
实现多态的方法为重写(override)和重载(overload 有些语言不支持重载)。
9.什么是重写和重载?
(1)重写(override):子类可以重写父类非私有的方法。
(2)重载(overload):一个类中可以有多个同名方法,这些方法的参数不能相同。
一个类中可以有多个同名不同参的方法。
10.什么是值类型和引用类型?
(1)值类型:传值。
(2)引用类型:传址。
11.值类型和引用类型的区别?
(1)值类型:一人一份内存。
(2)引用类型:共用一份内存。
打个比方:值类型是私家车,一人一辆,你车坏了你迟到,不影响别人。引用类型是公交车,大家公用一辆,车一坏一车人全迟到。
12.Java中String是值类型还是引用类型?
引用类型。
Java中判断两个字符串相等应该用str1.equals(str2),用==不准确。
public static void main(String[] args) {String str1 = "string";String str2 = "string";String str3 = new String("string");System.out.println(str1 == str2); //trueSystem.out.println(str1 == str3); //falseSystem.out.println(str1.equals(str2)); //trueSystem.out.println(str1.equals(str3)); //true }
13.什么是访问修饰符?Java中的访问修饰符都有哪些?
访问修饰符就是控制类、属性和方法访问权限的符号。
Java中的访问修饰符有四种:private、default(默认的)、protected、public。
作用域 | 当前类 | 同包 | 子类 | 其他 |
---|---|---|---|---|
private | √ | × | × | × |
default(不写) | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
访问修饰符的权限越向下越高,尽量用private,权限不够再依次提升权限。(多用private少用public)
14.什么是计算机程序?
计算机程序是可以完成某些功能的计算机指令集。
计算机程序由数据结构和算法构成。
什么是数据结构?什么是算法?
数据结构是计算机存储、组织数据的方式。
算法是计算机执行计算过程的具体描述。
好的数据结构和算法会带来更高的运行、存储效率。数据结构往往和高效的检索算法和索引技术有关
通常,计算机程序需要经过编译和链接成为人们难以理解但是计算机理解的格式,然后执行。不需要编译就可以运行的程序称之为脚本程序。
转载于:https://www.cnblogs.com/zhangyukof/p/6829538.html
面向对象的一些基础概念相关推荐
- J2EE学习笔记三:EJB基础概念和知识 收藏
J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
- 【数据库】数据模型基础概念(图文版)
0 前言 本文通过一个实例,来讲解数据模型的基础概念. 要求设计一个数据库的数据模型,统计出你的宿舍每个人(4个人)的信息,要求包括 个人信息:学号.姓名.班级.年级.学院 选课情况:学号.课程号.课 ...
- python的核心理念是什么_Python 面向对象编程的核心概念知识点简介
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于 无量测试之道 ,作者: 无量测试之道 刚接触Python的新手.小白,可以复制下面 ...
- 面试:JavaScript基础概念
文章目录 1. JS基础概念 JavaScript 常见知识总结 重点 1.js的基本数据类型都有哪些 2.判断基本数据类型的方法 typeof instanceof Object.prototype ...
- 设计模式:可复用面向对象软件的基础
文章目录 设计模式 设计模式有4个基本要素 23个设计模式 设计模式分类 目的准则 范围准则 导致重新设计的一般原因,以及解决这些问题的设计模式举例 设计模式所支持的设计的可变方面 设计模式背后的6大 ...
- WebService 及java网络编程等基础概念(一)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/u014401141/article/ ...
- 好书整理系列之-设计模式:可复用面向对象软件的基础 4
第4章结构型模式 结构型模式涉及到如何组合类和对象以获得更大的结构.结构型类模式采用继承机制来 组合接口或实现.一个简单的例子是采用多重继承方法将两个以上的类组合成一个类,结果 这个类包含了所有父类的 ...
- 【Java基础】基础概念与常识
基础概念 Java的特点 JVM.JRE.JDK 字节码.使用字节码的好处 Java 源文件运行过程 为什么不全部使用AOT呢? Java -- "编译与解释并存" 生成字节码文件 ...
最新文章
- 【2017下集美大学软工1412班_助教博客】结对编程1——模块化
- BZOJ1457 棋盘游戏
- 陕西师范大学计算机专业录取,陕西师范大学计算机类专业2016年在山西理科高考录取最低分数线...
- C语言中的nan和inf使用
- linux 禁用 内核 驱动程序,Linux设备驱动程序学习----5.模块的初始化和关闭
- hive 优化(二)
- 计算面平均边_家装门窗订单常用的门窗尺寸测量和计算方法
- (十二)random模块
- 根据url链接来下载资源
- Linux USB 摄像头驱动
- 什么是CSR ? 什么是公钥和私钥?
- html 置换元素和非置换元素
- 耐得住寂寞,坐得住板凳,也是一种能力。
- 矩阵分析与应用-1.2-向量空间_内积空间与线性映射
- 数学建模-Lingo学习
- 微信H5开发之页面布局
- C语言项目案例分析 源代码
- L1 操作系统的启动
- cocosLua 之cocosStudio动画
- Kafka系列之:深入理解Kafka 主题、分区、副本、LEO、ISR、HW、Kafka的主写主读和分区leader选举
热门文章
- 数电与模电的根本区别 转
- 漫步数学分析三十八——反函数定理
- 【转】前端开发必备网站
- 机器学习之Stacking原理与实战
- Windows8.1还原文件类型的默认打开方式
- Golang笔记—面向对象编程
- 设计模式学习笔记——建造者(Builder)模式
- 专业修改数据库服务器,专业修改数据库服务器
- springboot自动装配原理_【springboot】基于springboot运行原理实现springboot的自动配置...
- vue按需加载组件_微人事首页加载速度提高了 5 倍,我都做了什么?