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.一个语言或者一个东西能火是和这种语言进入某一子行业的契机有关.也就是说这个语言有没有解决社会急需的问题. ...
随机推荐
- 虚拟环境jupyter notebook使用【virtualenv环境】
一.进入虚拟环境 source tf1/bin/activate 二.安装 IPykernel python2版本: pip install ipykernel python3版本: pip3 ins ...
- 快速安装nginx
1.创建nignx用户 /usr/sbin/groupadd -f nginx /usr/sbin/useradd -g nginx nginx 2.安装依赖 yum install gcc gcc- ...
- 【译】第四篇 SQL Server安全权限
本篇文章是SQL Server安全系列的第四篇,详细内容请参考原文. 权限授予主体访问对象,以执行某些操作.SQL Server有大量你可以授予给主体的权限,你甚至可以拒绝或回收权限.这听起来有点复杂 ...
- 昨天看了一个大神的fix类,清晰了然
.fix::after{ content:''; display:table; clear:both; }
- 基于netty的一款http server
cicada 基本功能 1.基于注解.注解扫描 2.ioc 对象管理 3.intercepter 拦截器 ref https://github.com/TogetherOS/cicada
- 2017 ACM/ICPC(西安)赛后总结
早上8:00的高铁,所以不得不6点前起床,向火车站赶……到达西安后已经是中午,西工大距离西安北站大概3小时车程的距离,只好先解决午饭再赶路了……下午3.30的热身赛,一行人在3.35左右赶到了赛场,坐 ...
- 20165237 预备作业3 Linux安装及学习
Linux安装及学习 安装 对操作系统略知一二的我,按照老师发的基于VirtualBox虚拟机安装Ubuntu图文教程慢慢一步步往下做,虽然中间有些小困难,但最终都得以解决,安装成功. 遇到的小困难: ...
- 后台拼接json字符串,传到前台时注意特殊符号处理
1.后台拼接常用的形式: sb.AppendFormat("\"字段名\":\"{0}\"", i + 1); 这个要注意字符串截断 ...
- 神经网络中的偏置项b到底是什么?
原文地址:https://blog.csdn.net/Uwr44UOuQcNsUQb60zk2/article/details/81074408 前言 很多人不明白为什么要在神经网络.逻 ...
- java乱码问题解决
1.通过统一的过滤器进行了页面过滤(问题排除) 2.通过debug功能发现页面传到servelet和DAO中文都是OK的,可以说明在web程序端没有问题 问题就可能出现在数据库上面 首先查看数据库编码 ...