Java与C++&C语言的个人看法----异同点(A)
日期:2018.7.30
星期一
博客期:004
第四期的博客我来说一下自己对Java的看法以及它与C++有什么异同之处!
先说不同之处吧!Java应该说是更面向对象一点,它的Java包里类可以通过用import声明Java包文件,从而引用整个文件里的所有类p;而C++和C语言(之后统称C&C++)要用#include<头文件>或#include"头文件"来引入头文件,C&C++的类也是可以写成.h文件或.cpp(.c)文件,以及一个.h文件和一个.cpp文件的标准版,而一个Java包则是有许多.java的类文件组成,这一点还是区别相当大的。我再说一下Java的类声明,它这个是通过这个class来声明类的,这一点是跟我们C++是一样的不同点呢?C++在用类的时候,你不必要声明这个类是什么属性的,就是保护、私有、公有这三种,因为C++也没有这个必要去说这个类让它有什么样的属性啊,C++里用的就是在继承时使用公有继承、私有继承以及保护继承的继承方式来确定你这父类与子类的关系;而我们Java里边呢?类本身就要有这样的属性!在类的前边加上它的属性,就像这样:public class Test{}.......emmmm.....Java里边的父类与子类的关系就比较复杂了,其实说复杂它也不复杂!就是这么个关系,搞懂了就是用extends声明一下就可以了!它的类的属性同时决定了它的“继承方式”(因为Java里没有这个概念,所以是引号),而且C++你可以在继承上同时继承多个,从而引出单继承、多继承、多重继承、二义性等概念!而Java就不一样了。Java不可以多继承,但可以单继承和多重继承!对于公有、私有、保护这三种属性和“声明符号”,Java与C&C++一样,就不说也罢!然后就到了内部的成员啦!在Java中每个成员都要声明它的属性,而C++里是protected:然后一大堆成员...private:然后一大堆成员...public:....可能是Java程序我还写得很少的缘故吧,在这一点上我还是喜欢C++!当父类和子类有同名的成员函数时,若你写的格式相同,但内容不同,且是没有特殊声明的C++程序!那就等着出bug(报错)吧!我们的Java引入了新的概念---重写(在C++里有一个覆盖功能是内部覆盖外部),而这样可以通过super和this来区分,在C++上处理就麻烦了,要通过未继承的时候的类型来声明一下!如果是静态类型就简单:Father::test();//执行父类函数.......Son::test();//执行子类函数......至于虚函数部分如下图:
它们是一一对应的关系!毕竟你要搞懂C++和Java需要很长的时间!到时候我发一些文件到我的博客上大家就清楚了!再说一下main函数!区别...太大了!C是只能有一个main函数,Java是每一个类里最多只有一个main函数!写起来...我举个例子吧:
//===如下为C语言实现
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
//===如下为C++实现
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello World!"<<endl;
return 0;
}
//===如下为Java实现
public class Test(){
public void static main(String args [ ]){
System.out.println("Hello World!");
}
}
区别挺大的!C++-->Java,bool-->boolean,还多了一个byte!这个是在数比较小时占用内存较小!for循环里多了数组的使用方法!还有枚举...我不介绍了!就先这样吧!
Java与C++&C语言的个人看法----异同点(A)的更多相关文章
- 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...
- java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...
- [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- Java编写的C语言词法分析器
Java编写的C语言词法分析器 这是java编写的C语言词法分析器,我也是参考很多代码,然后核心代码整理起来,放在QQ空间和博客上,目的是互相学习借鉴,希望可以得到高手改进.这个词法分析器实现的功能有 ...
- JAVA入门之基础语言
在上一章文章中,读者已经了解了如何搭建Java 开发环境及Java 程序的开发过程.从本篇文章开始讲解Java 的基本语言.这些基本语言的语法和其他一些编程语言相比有些是类似的,但还有很多不同之处,读 ...
- 【转】Java做服务器开发语言
版权声明:本文为博主原创文章,未经博主允许不得转载. 随着游戏市场的兴起,特别是网页游戏.手机游戏的崛起,对游戏开发技术的需求越来越多.网络游戏开发是一个庞大的体系,总体来说是客户端与服务器端.客户端 ...
- Java语言与C语言混合编程(2)--在Java中调用C语言本地库
在上一篇文章中介绍了Java语言中的native关键字,以及Java语言调用C语言的编译生成本地动态链接库(DLL)实现加法运算的小例子,本文通过一个更加详细的例子,深入讲解Java语言调用C语言的函 ...
- 各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言)
各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言) 总结 a.一个语言或者一个东西能火是和这种语言进入某一子行业的契机有关.也就是说这个语言有没有解决社会急需的问题. ...
随机推荐
- PHP取微信access_token并全局存储与更新
来源:http://www.zcphp.com/html/weixinkaifa-show-20.html 官方的说明: access_token是公众号的全局唯一票据,公众号调用各接口时都需使用ac ...
- react编译报错:Import in body of module; reorder to top import/first
原因是这样的: 我把一个组件分为三个文件, |—Home.jsx // 业务逻辑与html Home——|—Home.css // 样式 |—index.js // 引入Home.css ,再把Hom ...
- Nginx系列3:用Nginx搭建一个具备缓存功能的反向代理服务
反向代理的理解:https://www.cnblogs.com/zkfopen/p/10126105.html 我是在一台linux服务器上搭建了两个nginx服务器A和B,把静态资源文件甲放在A服务 ...
- python基础-----字符编码
1.ASCII ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...
- [转] 图 + 文 + 公式 理解LSTM
转自公号“机器之心” LSTM入门必读:从入门基础到工作方式详解 长短期记忆(LSTM)是一种非常重要的神经网络技术,其在语音识别和自然语言处理等许多领域都得到了广泛的应用..在这篇文章中,Edwin ...
- SpringCloud Feign
⒈Feign是什么? Feign是Netflix开发的声明式.模板化的HTTP客户端, Feign可以帮助我们更快捷.优雅地调用HTTP API. SpringCloud微服务项目之间调用是通过Res ...
- C# 如何进行图像的压缩
从网上找的非常有效.图片3M到500k private static ImageCodecInfo GetEncoderInfo(String mimeType) { int j; ImageCode ...
- QML 从入门到放弃
发现了一个问题: QQuickView only supports loading of root objects that derive from QQuickItem. If your examp ...
- python3编码(encode,decode)
python3默认编码为unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> bytes d ...
- PEP525--异步生成器
[译] PEP 525--异步生成器 PEP原文:https://github.com/python/peps/blob/master/pep-0525.txt 创建日期:2016-07-18 译者 ...