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.一个语言或者一个东西能火是和这种语言进入某一子行业的契机有关.也就是说这个语言有没有解决社会急需的问题. ...
随机推荐
- js中 onreadystatechange 和 onload的区别
IE的script 元素只支持onreadystatechange事件,不支持onload事件. FF的script 元素不支持onreadystatechange事件,只支持onload事件. 如果 ...
- class按传递时分析
class FEF{ public: int a; FEF(int a,int b){ this->a = a*b; } }; void mam(FEF a){ printf("%d ...
- jdk下载地址
1.5 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase5 ...
- 《jQuery精品教程视频》-每天的复习笔记
第一天 //jquery:简单.粗暴 //jq和js的关系 //js是什么? js是一门编程语言 //jq仅仅是基于js的一个库,jq可理解为就是开发js的一个工具. //概念 //1. 为什么要学j ...
- php编程 之 php进阶练习
1,php的date相关操作: PHP date() 函数可把时间戳格式化为可读性更好的日期和时间. <?php echo date("Y/m/d") . "< ...
- Spring学习1:Spring基本特性
http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA%E6%9C%AC ...
- android 组建添加透明度
给TextView添加透明度,起初用的方法是android:alpha = "0.3" 添加后,文字显示也有点透明发虚,后来改成设置background,然后 backgroun ...
- HSV color space
计算机图形学原理的课给我们指定了课题然后自己去研究并且做ppt(顺便吐槽一下晚课下课布置作业第二天早课就要交的辣鸡时间安排) 肝了一个晚上 大概知道了一点 先写下来 HSV其实是hue saturat ...
- dynamic详解
一.简介 在通过 dynamic 类型实现的操作中,该类型的作用是绕过编译时类型检查, 改为在运行时解析这些操作. dynamic 类型简化了对 COM API(例如 Office Automatio ...
- SharePoint 2016: 数据库正在兼容性范围内运行,建议进行升级
问题描述: SharePoint 运行状况分析器提示: 中文:数据库正在兼容性范围内运行,建议进行升级. 英文:Database running in compatibility range and ...