Java一些小基础

今天Java考试了,发现一些基本的概念没懂,来整理一下。希望各位指点!

Java中的关键字

Java中的关键字都是小写的,且不能把关键字作为标识符

标识符:包,类,方法等的名称。

“一次编译到处运行”

书上说:这体现的是Java的可移植性,它源于两个方面:一是Java的半编译,半解释特征;另一方面是Java的体系结构中立。

我的理解是:解释靠的是Java的运行环境,也就是说是jvm(Java虚拟机),一段程序在一台机器上编译成字节码后(这还不是机器能懂的语言),要想在其他的机器上也能运行,那么它必须安装有Java虚拟机,然后通过它彻底解释成机器语言。但在网上搜了相关信息,很多人也不是很赞成这种说法,主流的有像“一次编译,到处调试”,对于这个概念应该不是主要的,相信以后用多了,会理解的。

Java中的重载和重写

重写的规则:

1.参数列表返回值必须和被重写的方法相同。

2.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常.例如,
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常

重载的规则:

1.参数列表必须和其他重载的方法不同,而返回类型没有要求。

2.可以有不同的访问修饰符;
 可以抛出不同的异常;

其实方法的重载中提到的方法完全可以理解成没有关系的几个方法。


重写和重载的区别在于:重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值.


Java中的多态性(暂时只理解了这么点东西,希望大家提提想法!)

就在csdn中找到这样一个例子,比较有意思:

比方一下:

你和你朋友都是烟鬼,

某日,你没有带烟, 而你朋友有n种烟,

你说: 来根烟,

朋友给你一根;

你通过烟的过滤嘴, 品出为白沙烟

你再要一根,

品出这次是芙蓉王,

再要一根,

品出这次是熊猫

...

上面描述的就是多态!

烟 a = 白沙
烟 b = 芙蓉王
烟 c = 熊猫

但发现没有, 仅仅通过"烟"基类, 引用到不同的具体类对象,

就能让你调用到不同的对象, 这就是多态.

而烟到你嘴里[此时你还没有发现是那种烟], 你仅仅凭借"吸"的动作,就识别出来,到底是哪种烟对象

这就是多态的悬机.

多态须具备:

1. 基类 和各个子类

2. 基类 引用, 指向实例化的子类对象.


再举一个鸡的例子,

鸡是所有其它鸡的基类, 定义了一个方法shape(), 此方法能指明鸡的形态. 所有的子类[火鸡,山鸡,田鸡等],都有这个shape方法, 表明自己的形态,

如果用下面的方法定义我需要具体的鸡,

[基类 引用 = 实现类的对象]


for example:

鸡 a = new 火鸡();

鸡 a = new 田鸡();

鸡 a = new 山鸡();

鸡 a = new 母鸡();



当我使用的时候, 我采用 a 这个引用,

a.shape(), 就会得到鸡的形态.


如果我定义的是

鸡 a = new 火鸡();

那么a.shape得到的是火鸡的形态, 而不需要用具体的

火鸡 a = new 火鸡(); 再通过a.shape得到火鸡的形态

Java的多态性体现在方法的重写和重载上

 关于equals()和==:

  这个equals对于String简单来说就是比较两字符串的Unicode序列是否相当,如果相等返回true;而==是比较两字符串的地址是否相同,也就是是否是同一个字符串的引用。

 

接口可以继承多个其他接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值