老司机带你入门Java基础概念

因为学习所以收获,因为收获所以不寂寞。                 请关注:源码猎人

目录

Java简介

Java特性

Java环境概述

Java工作原理

面向对象

对象

方法

继承

封装

多态

变量

常见面试题


Java简介

Java是一门面向对象编程语言,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。

Java语言不使用指针,而是引用

Java语言具有功能强大并且简单易用,Java自带内存回收器GC,使得程序员不必为内存管理而担忧。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java特性

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

Java程序必须在Java平台上才能编译和执行,Java程序只依赖Java平台不依赖操作系统

Java环境概述

JDK称为Java开发包或Java开发工具,是一个编写Java程序的开发环境和运行平台。

JDK是整个Java的核心,它包括了Java运行环境,一些Java工具和Java的核心类库(Java API)。

不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK。

Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境 。

Java工作原理

由四方面组成:

  • Java编程语言
  • Java类文件格式
  • Java虚拟机
  • Java应用程序接口

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。

使用文字编辑软件或集成开发环境在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用

面向对象

面向对象是在结构化设计方法出现很多问题的情况下应运而生的。

结构化设计方法缺点如下:

  1. 结构化设计方法审视问题的视角过于局限,它将属性和行为分开,使得应用程序的日后维护和扩展相当困难,甚至一个微小的变动,都会波及到整个系统。
  2. 结构化设计方法抽象级别太片面,他是基于过程做抽象,将问题域中具有明确功能定义的操作抽取出来,并将其作为一个实体看待。这种抽象级别对于软件系统结构的设计显得有些武断,并且稳定性差,导致很难准确无误地设计出系统的每一个操作环节。
  3. 结构化设计方法只封装了各个功能模块,而每个功能模块可以随意地对没有保护能力客体属性实施操作,并且由于描述属性的数据与行为被分割开来,所以一旦某个客体属性的表达方式发生了变化,或某个行为效果发生了改变,就有可能对整个系统产生影响。
  4. 结构化程序设计方法的基本单位是模块,每个模块只是实现特定功能的过程描述,因此,它的可重用单位只能是模块。

结构化设计方法的这些缺点驱使人们寻求一种新的程序设计方法,以适应现代社会对软件开发的更高要求,面向对象由此产生。

对象

对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。

对象包含两个含义,其中一个是数据(属性),另外一个是动作(方法)。

对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。

类是具有相同特性(数据元素)和行为(功能)的对象的抽象。

对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性

类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述

类映射的每一个对象都具有这些数据和操作方法,类的继承具有层次性和结构性,高层次对象封装复杂行为,具体细节对该层次知识保持透明,可以减小问题求解的复杂度。

方法

方法是指对象能够进行的操作或行为,在C++中一般称方法为函数,但是在Java中不这么叫,只有构造方法会称为构造函数。

方法是类中的定义函数,其具体的作用就是对对象进行描述操作

继承

继承简单地说就是一种层次模型,这种层次模型能够被重用。层次结构的上层具有通用性,但是下层结构则具有特殊性。在继承的过程中类则可以从最顶层的部分继承一些方法和变量。

类除了可以继承以外同时还能够进行修改或者添加。通过这样的方式能够有效提高工作效率。

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

封装

封装是将数据和代码捆绑到一起,对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。

封装防止了程序相互依赖性而带来的变动影响,面向对象的封装比传统语言的封装更为清晰、更为有力。

主要目的是对数据和行为的包装和信息的隐藏。

多态

多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。

变量

Java变量分为类变量、实例变量、局部变量。在Java语言中,所有的变量在使用前必须声明。

常见面试题

1、为什么选择Java?

大多数人选择Java可能只是因为听说Java前景好、Java比较好找工作、Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的。

Java就像是我的初恋,喜欢它没有为什么。

2、说一说你对面向对象理解?

在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动。面向对象有三大特性,封装、继承和多态。

 

 

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源码猎人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值