java和c++基础点的不同(本人C++转java一周的心得)

首先java这一语言我是从一周多前开始学习的,而且最近两天在准备海康的面试,昨天刚结束的面试,过程中回答完tcp的三次握手四次挥手后被面试官的一个tcp拥堵问题给问倒了,也是自己学艺未精把。
现在开始决定开始将java的基础全部过一遍,之后试着用java做个简单的项目。下面附上这些天的总结点。
首先分享一个视频中学习到的一行代码,觉得有意思就记录下来了

int a=10;
int b=20;
a=b+a-(b=a);

相信有点代码经验的人都能看得出来了,此段代码可以做到a和b的交换,并且只需要一行就能解决了(仅仅可作为日常装逼用)。
java和c++代码方面的不同之处(个人见解)
一:
java是完全面向对象的语言,任何的方法(java将c中的函数称为方法,两者是一样的东西)都需要封装在类中,包括main()。而且,与c语言可以将main()的参数省略不同,java中main需要将参数填写完整,故应写为 public static void main(String[] args),至于这个arg数组是什么东西,大家可以另行百度。
二:
java和c一样,需要导入库文件。java中c++ cin的实现方法:1.import java.util.Scanner 这里Scanner为封装好的类,故后续需要用Scanner类定义一个对象,并为之new 内存,之后再调用该对象的方法,实现输入 格式如下

Scanner sc=new Scanner(system.in);
int my_in=sc.nextInt();

三:
上述中涉及到用类定义对象的问题,再C中,若有一个Student类,定义对象为(假设构造函数为默认构造函数)

Student s1;

但是,在java中,需要显式地调用new ,来在堆区中打造内存(可能与java中内存管理有关,java中没有指针的概念,不需要自己delete或是free指针)。

Student s1=new Student();

本人最近在写代码时出现编译不通过十有八九是因为这个,c++转来的人尤其要注意。
四:
数组的定义格式不同(个人认为java中格式更加规范,这一点请自行查阅资料,一时半会说不清楚)。
五:
对于C++中经常出错的多继承问题,java取消了多继承这一机制,但是java可以分层继承,如子类继承父类,而父类又是从爷爷类继承的。
对于C++中向来不推荐使用的goto,java直接摒弃了这一跳转。
六:
关于static关键字。java中,用static声明的成员方法可以用 类名.方法名 调用,而不必定义对象,这也是为什么main函数需要用static声明的原因。
七:
再次强调,java中没有指针的概念,故使用this指针时也应该用this.成员方法/成员属性,而不是C++中严格的**->**符号。
八:
在继承中,java也有C++的多态。此外,java中除了this还有super 可以用其直接调用父类的方法。
还有,java中有栈区,堆区,方法区,这比c语言的内存四区容易理解得多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值