【群友问题讨论】java类&对象数组&一些知识盲区

【群友问题讨论】java类&对象数组&一些知识盲区,第1张

爱学习的群友问了一道题,靠着我刚过英语四级的水平,翻译一下就是:下列哪个关键词是定义java类所必要的,答案显而易见是class,因为“类”这个名词就是由“class”翻译过来的。

然后我花了几分钟想了想“类”是什么(顺便查查)

1、往复杂了想,“类”是“自定义复合数据类型”。整合已有的八种基本数据类型(int,String,double等)构造模块以实现某些功能,定义较为宽泛。

2、往简单了想,“类”是“描述事物性质的工具”。相比上面更容易理解,我们定义一个动物类,一般都会赋给这个小家伙几个变量,简单说一下它多重、多高、名字叫什么等,然后用方法来实现一些行为,比如奔跑,跳跃,握手(虽然我目前只能做到输出文字,全靠想象了属于是)

不知道你有没有发现,早在刚接触编程的时候,“类”就在我们头上挂着。

随后的步骤大多都是先写主函数,然后写下功能性代码。在面向对象思维里面,“类”可以没有主函数,但是没有主函数不方便运行,所以这些“类”就换了一种方式发光发热——调用。

没错,调用可以说是java类最大的用途之一,不仅能其他类的代码量大幅减少,还能让整体排版更简洁美观。所以课程里会让你锻炼类之间互相调用的能力(虽然感觉是画蛇添足),咳咳,面对大量代码的时候,调用确实起到了不可忽视的作用,未雨绸缪也是好事。

下面讲一下关于对象数组的事

好,上群友!

 从这个代码我们能推断出很多事情,比如在这个test类外,还有一个point类。point有两个构造器,一个有参一个无参。count起到计数作用,应该在两个构造器里有count++。

大体背景分析完了,接下来是群友的问题,想在14行创建20个随机的point类。用到了对象数组,就不提对象数组的4种初始化方法。有兴趣可以查查,这里只介绍动态初始化方法,以免信息量太大,丢失学习的热情。

		Point p[]= new Point[20];//创建数组
		for(int i=0;i<20;i++)
		p[i] = new Point();//定义对象

由于for循环后面就一步,所以大括号可以不加。可以看到,创建数组和定义对象是分开的,回想一下之前定义数组的方法,是不是也有相似之处?

然后就是传输随机数了,只需要在上面代码里添加两行,就可以实现这个功能了

		Point p[]= new Point[20];
		for(int i=0;i<20;i++) 
		double a=Math.random()*10;
		double b=Math.random()*10;
		p[i] = new Point();

但是呢,现在出现了个问题,程序不能运行了。很显然,for循环的范围不够。这就说明大家不要随便省略步骤,如果写的代码多了,查起来很费事的。

      Point p[]= new Point[20];
		for(int i=0;i<20;i++)
{
	double a = Math.random()*10;
	double b = Math.random()*10;
	p[i] = new Point(a,b);
}

特地单独把大括号列出来,请大家一定一定要注意细节。到这里,问题算是收尾结束了。

最后是我的知识盲区

群友问 neatbeans(也可能是netbeans)的默认保存按钮能不能关闭,我查了一下,网上并没有类似的教程,可能没办法关掉?有没有大佬评论区里解决一下,求求了

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/795457.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存