日期: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)的更多相关文章

  1. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

  2. java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  3. [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...

  4. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  5. Java编写的C语言词法分析器

    Java编写的C语言词法分析器 这是java编写的C语言词法分析器,我也是参考很多代码,然后核心代码整理起来,放在QQ空间和博客上,目的是互相学习借鉴,希望可以得到高手改进.这个词法分析器实现的功能有 ...

  6. JAVA入门之基础语言

    在上一章文章中,读者已经了解了如何搭建Java 开发环境及Java 程序的开发过程.从本篇文章开始讲解Java 的基本语言.这些基本语言的语法和其他一些编程语言相比有些是类似的,但还有很多不同之处,读 ...

  7. 【转】Java做服务器开发语言

    版权声明:本文为博主原创文章,未经博主允许不得转载. 随着游戏市场的兴起,特别是网页游戏.手机游戏的崛起,对游戏开发技术的需求越来越多.网络游戏开发是一个庞大的体系,总体来说是客户端与服务器端.客户端 ...

  8. Java语言与C语言混合编程(2)--在Java中调用C语言本地库

    在上一篇文章中介绍了Java语言中的native关键字,以及Java语言调用C语言的编译生成本地动态链接库(DLL)实现加法运算的小例子,本文通过一个更加详细的例子,深入讲解Java语言调用C语言的函 ...

  9. 各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言)

    各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言) 总结 a.一个语言或者一个东西能火是和这种语言进入某一子行业的契机有关.也就是说这个语言有没有解决社会急需的问题. ...

随机推荐

  1. LwIP Application Developers Manual12---Configuring lwIP

    1.前言 2.LwIP makefiles With minimal features C_SOURCES = \ src/api/err.c \ src/core/init.c \ src/core ...

  2. python 字典不区分大小写工具类

    # -*- coding: utf-8 -*- # @Time : 2018/12/20 4:28 PM # @Author : cxa # @File : DictHelper.py # @Soft ...

  3. Linux下自动清理超过指定大小文件

    作者:邓聪聪 扫描某个目录下的文件,发现超过指定大小即清空 1)扫描目录下的文件 2)判断文件大小 3)清空大于指定文件的内容 以byte为单位显示文件大小,然后和20M大小做对比. 20M换算成字节 ...

  4. mq for aix 清理步骤

    删除所有相关进程smit remove 删除mq删除mqm用户和用户组 如果unmount /cdrom 卸载不掉的话使用 fuser -xcu /cdrom rm /var/mqm

  5. GetCheckProxy

    @echo off setlocal enabledelayedexpansion set infile=free.txt set url=https://www.google.com/?gws_rd ...

  6. CAN总线相关的几个gitlab代码

    https://github.com/brtiberio/ATV71_CANopen.git https://github.com/linux-can/can-utils.git https://gi ...

  7. c 中打印格式%g

    C语言中打印float或double类型最常用的是%f格式,最近看书时看到有使用%g格式打印. %f  表示按浮点数的格式打印. 小数点后固定6位 %e 表示以指数形式的浮点数格式输出. %g 表示自 ...

  8. matlab常用命令

    clc; %清屏 clear; %清除变量 close all; %关闭 doc %查看文档 meshgrid%采样mesh %网格曲面surf %光滑曲面plot %ezplotdiff figur ...

  9. node.js总结

    1.NPM安装报错:no such file or directory, open 'C:\Users\HP\package.json' npm WARN saveError ENOENT: no s ...

  10. java结合testng,利用yaml做数据源的数据驱动实例

    testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以yaml为例: 备注:@DataProvider的返回 ...