面向对象程序设计语言:Java

简介: Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧

一、Java介绍

1.Java背景:Java是Sun Microsystems公司在1995年5月推出的面向对象程序设计语言,后来Sun公司被Oracle公司收购,Java也随之称为Oracle公司的产品

2.Java语言主要特性

①简单:Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧

②面向对象:Java提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制,Java全面支持动态绑定,而C++只对虚函数使用动态绑定,总之,Java是一个纯面向对象程序设计语言

③分布式:Java支持Internet应用的开发,在基本的Java应用编辑接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库,Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段

④健壮性:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证,对指针的丢弃是Java的明智选择,Java的安全检查机制使得Java更具健壮性

⑤安全性:Java通常被用在网络环境中,Java提供了一个安全机制以防止恶意代码的攻击,除了Java具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制,如分配不同的名字空间以防替代本地的同名类、字节代码检查、并提供安全管理机制让Java应用设置安全哨兵

⑥体系结构中立:Java程序在Java平台被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行,这种途径适合于异构的网络环境和软件的分发

⑦可移植性:可移植性来源于体系结构中立性,Java还规定了各个基本数据类型的长度,Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的

⑧解释型语言:Java在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行,在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中

⑨高性能:与其他解释型的高级脚本语言相比,Java的确是高性能的,Java的运行速度随着JIT编译器技术的发展越来接近于C++

⑩多线程的、动态的:Java中线程是一种特殊的对象,它必须由Thread类或其子类来创建;Java语言是动态的,Java程序所需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类,这也有利于软件的升级,Java中的类有一个运行时的表示,能进行运行时刻的类型检查

二、Java的开发工具

1.Linux、Mac OS、windows

2.Java JDK7/8

3.eclipse、vscode、intelliJ IDEA、NetBeans等

三、C++、Java、Python、Go如何选择

1.Java有必要转Go吗?

目前Go招聘岗位还小于Java,目前架构迁移成Go的基本都是互联网头部公司,最新架构最新技术不一定流行,但是要会,不建议作为主力语言进行学习

2.C++、Java和Python该如何选?

①C++:底层开发,对性能要求高的业务,如Linux后台开发、嵌入式开发、游戏开发、编译器开发等

②Java当今编程语言的中坚力量,未来5年不会过时,有被Go、Python赶超的趋势

③Python:爬虫、数据可视化、人工智能,语法简单,但是数据结构和算法要求高,入门简单,学精和找工作门槛比较高,Python不建议把它作为主攻语言,可以把它作为一门辅助语言去了解和学习,写写脚本、处理处理文本还是挺好使的。

相关文章
|
29天前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解
|
29天前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
1天前
|
Java 开发者
Java编程之旅:探索面向对象的力量
【9月更文挑战第16天】在编程的世界中,Java以其强大的面向对象编程特性而闻名。本文将带你走进Java的世界,一起探索类与对象的奥秘,学习如何通过封装、继承和多态性构建健壮的软件系统。无论你是初学者还是有经验的开发者,本文都旨在提供实用的代码示例,帮助你提升Java技能。准备好开始这段旅程了吗?让我们启程吧!
|
25天前
|
Java 开发者 C++
|
28天前
|
存储 Java
Java面向对象面试题总结(上)
在Java中,重写(Override)与重载(Overload)是两个重要的概念,关联到方法的定义与调用。重写是指子类对继承自父类的方法进行新的实现,以便提供子类特有的行为,其关键在于方法签名一致但方法体不同。重载则允许在同一个类中定义多个同名方法,只要参数列表不同即可,以此提供方法调用的灵活性。重写关注多态性,而重载强调编译时多态。
19 1
|
1月前
|
Java 数据安全/隐私保护
09 Java面向对象三大特征(概述)
09 Java面向对象三大特征(概述)
51 4
|
1月前
|
存储 Java 程序员
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
59 4
|
18天前
|
存储 Java 数据库连接
Java编程之旅:从基础到高级,探索面向对象的力量
【8月更文挑战第31天】本文是一篇深入浅出的Java编程指南,旨在通过生动的例子和实际代码演示,带领读者从Java的基础语法起步,逐步深入到面向对象的核心概念,最后探讨如何在实际项目中应用这些知识。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和实用的技巧。
|
28天前
|
Java 数据安全/隐私保护
【Java 第五篇章】面向对象
封装隐藏对象内部细节,仅暴露出必要的接口,提升代码的安全性和可维护性。通过private修饰属性并提供公有的getter和setter方法实现。权限修饰符从private到public控制着访问范围,从类内到整个项目。封装可用于类及其内部结构。
13 0
|
1月前
|
存储 SQL 搜索推荐
一天十道Java面试题----第一天(面向对象-------》ArrayList和LinkedList)
这篇文章是关于Java面试的笔记,涵盖了面向对象、JDK/JRE/JVM的区别、`==`和`equals`、`final`关键字、`String`、`StringBuffer`和`StringBuilder`的区别、重载与重写、接口与抽象类、`List`与`Set`、`hashcode`与`equals`以及`ArrayList`和`LinkedList`的对比等十个主题。