首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java学习的日常-类和对象

分享是一种积极的学习态度!

Hello大家好,我是Jerry

如果你之前没有IT背景,那week1之后或许会怀揣着紧张和焦虑,从这周开始,我们将由浅入深走进Java的世界。

类和对象

:一系列有相同属性(attributes)的对象的集合, 定义了对象的属性和行为。

对象:类的实例化结果,代表着真实存在的某个事物, 有着自己独特的属性值。

例如:“明星”(Mingxing Class)是定义很抽象的群体,他们有身高,发型,颜值等属性(attributes)。

吴亦凡”,“刘昊然”,“张艺兴”,“黄渤”这些对象则是类的实例化(instance)结果,这些对象有相同属性,但是值不同,能理解吧。同时明星还有唱歌,演戏,投资等行为,这些行为成为了类(class)中的方法(method/function)

Monash考点:

Java是大小写敏感的程序,类名的首字母都应该大写,例如Mingxing, 或者China Mingxing. 在以后的assignment中,你也 经常会因为粗心小写了类名,导致运行报错的情况。同时保存源文件时,文件名应该与public类名保持一致。

如何定义一个类

类主要由fields,constructors和methods组成,有同学会指出我见过的类,除了定义了各种fields和method之外,中间好像没有 多余的东西。

那是因为Java本身会自己创造默认构造函数(看不见),对fields们进行初始化,如果你对Java的自作主张不开心,那就可以定义一个显式构造函数来初始化fields们。

例如在明星类中自定义的构造函数:颜值 = “帅的冒泡”,此时明星这类人初始设定都是很帅的。

Monash考点:

constructor的作用是在创建对象时给属性初始化;constructor的名字和类名相同

Assignment易错点:

类定义的属性可以不用构造函数进行显式的初始化(颜值,身高等),类中的方法定义的变量,则需要在参与运算前赋初值。你经常会碰到某某变量没有初始化的报错,则需要确认是不是局部变量在参与运算前没有初始化。

访问修饰符

Java的访问修饰符private/public/protected是为了在程序编译时检测访问权限,确保了Java程序的安全性。例如:

1、我的财产类,赚钱的方法,存款金额数目我只想把他设置为private的;

2、我的学习方法,我的藏书类希望和所有人分享,就会把他设置为public;

3、有些个人生活状态我只想让朋友和子女,父亲知道,就设置为protected,相当于Java程序中的继承类,父类,子类,同一个包中的类等.

Assignment考点:

在之后的assignment中会要求你给不同的变量,方法或者类设置访问权限,使得程序的逻辑合情合理,比如有些变量不想被其他类访问,需要设置为private。

语法结构

Java是一门逻辑性很强的编程语言,就跟说话一样,Java语句需要遵守一定的逻辑和语法,计算机才能理解编程人员的想法。语法结构的部分比较容易理解,书上写的很详细,这里总结几点现阶段你们会犯的错误:

1、statement后面没有分号,Java需要你用分号告诉他,我这个指令说完了。尤其代码很长的时候一时半会儿注意不到这个错误;

2、类的大括号{}, 或者方法的小括号()经常漏了一个, blueJ中间一大段留白。

3,引用之前声明过的变量,单词拼写错误。

4、你写的分号是中文输入法的分号,导致报错。

PS: 你们真是幸福,BlueJ都已经升级到会自动提示错误了。

数据类型

Lecture上提到变量是用来存储数据的,为了提高计算机内存使用以及计算的效率,声明变量时需要告诉计算机我要多大的空间来存储数据——给多了浪费,给少了挤不下。

Java提供了8种基本类型:byte,float,int,long,boolean等,编写程序时需要合情合理的选择数据类型,他们主要的区别在于占位数和取值范围。

例如:

int 是32位的二进制整数,最大值是2的31次方减一;

long是64位的二进制整数,最大值是2的63次方减一;

所以long能表示的数字更多,当你声明一个变量存储班级人数的时候,就没有必要规定为long类型的变量,如果蚂蚁会编程的话,估计他们是用long类型的变量。

Assignment考点:

整型、常数、字符型数据在java中可以混合运算,所以之后会遇到把一个变量的类型转换成其他类型的情况,这时要注意小范围的数字,不能转换为大范围的数字,例如int最大的数字,还不到long的一半。

Int a的a不能强制转换为long类型,这个别害怕,assignment后面才会涉及到强制转换方法的情况。

Java中方法的结构

没有方法的类就像刚出生的婴儿。

正是因为类中可以定义丰富的方法,运用数学技巧解决复杂的计算,使得编程特别有意思。

命名规则:第一个单词以小字母开头,后面单词首字母大写。例如:niHao();

方法的五官:

Assignment考点:

1、方法也是有访问权限的,你们可能会经常无法调用到设置为private的方法;

2、如果把方法形容为处理器,你希望方法处理完之后给你什么类型的输出结果需要写出来。

3、有些方法很傲娇,在开始工作前,你需要先给它一个值(值的类型在小括号里面写出来)才能正常工作,忘了给方法传入正确的参数是经常会犯的错误。

4.方法体中有逻辑运算,算数运算,循环运算等等,可以发挥你的奇思妙想,但是!语法要正确哦,括号写全,分号写对。

4,如例子所示,你告诉方法需返回一个String类型的值,大括号的最后,记得return一个String类型的参数,你要算1+1=2的话,记得返回的参数名,是存储2的那个。

运算符

小伙伴们都读到硕士了,加减乘除直接略过,“/”这个是取整, “%”这个是取余数,这里主要讲下自增(++)和 自减(--)运算符。

记忆技巧:

+在前加法优先,+在后赋值优先

week2的主要内容就是这些,如果有遗漏和错误的地方,希望大家给我们发私信指出。还有没有讲到的知识点,小伙伴们也不是很清楚的,也欢迎来问问题!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180309G02OA400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券