java核心:变量类型、运算符优先级、封装继承多态

一、java内的变量类型

1、基本数据类型

①整数类型

byte--8位--默认值(byte)0

short--16位--默认值(short)0

int--32位--默认值0

long--64位--默认值0L

②浮点类型

float--32位--默认值0.0f

double--64位--默认值0.0d

③字符串

char--16位--默认值\u0000(空,'')

④布尔型

boolean--8位--默认值false

2、引用类型

类(class)、接口(interface)、数组。

注意:①java不存在无符号类型变量,所以如果存在java与C/C++通讯的过程中,注意数值型变换操作。

②运算过程中自动类型转换:byte->short->int->long->float->double char->int

二、运算符优先级

 
  

三、抽象封装、继承、多态的概念和作用

 1、封装性:它包含两个含义,一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位中;另一个含义是“信息隐藏”,把不需要外界知道的信息隐藏起来。

    作用:把描述对象的变量和方法和在一起,定义为一个程序单位,并保证外界访问限制(提供了属性和方法的访问权限)。

2、继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。在java总是单继承。

      作用:(1)继承关系是传递的。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。

(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。

(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。

(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。

(5)提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。

3、多态:多态是允许程序中出现重名的现象。java中含有方法重载和对象多态两种形式的多态。

     作用:①方法重载:在一个类中,允许多个方法是用同一个名字,但方法的参数不同,完成的功能也不同;

     ②对象多态:子类对象可以与父类对象进行相互转换,而且根据其是用的子类的不同,完成的功能也不同。这里涉及到的最重要的知识就是向上转型。

四、单一继承和多重实现

       在面向对象的编程中,引入继承是为了更好的实现代码的复用,继承是面向对象编程的三大要素之一。当然,为了提升代码的复用,java还引入了组合,在编码的时候用组合还是用继承,将会在后续的java编程思想那些章节中深入探讨。

      在Java中,只允许单一继承,即一个子类只能有一个父类。java采用单一继承,原因有很多,其中有这几个原因:①降低代码的复杂度;②解决垃圾回收机制问题;③消除类的二义性;④类的多态中向上转型等。但是java中通过其他方式,也可以实现多重继承:①接口的多重实现,即一个类可以实现多个接口;②通过内部类,实现多重继承;

注意:①子类集成父类,在初始化子类的过程中,如果父类没有构造器,则编译器会为我们自动合成一个默认构造器,并发出对此构造器的调用;如果有不含参数的构造器,则默认调用这个无参构造器;如果只有含参的构造器,则需要在子类的构造器内,通过super显示的调用父类含参数构造器,并且在子类的构造器内是必须要做的第一件事情。

②接口。接口内的所有成员变量都自动具有static和final属性。

③抽象类和接口的区别,如下图:

五、java重载和重写

 重写和重载。“重载”是指同一样的东西在不同的地方有多种含义,在java中方法的过载可以通过形参的不同实现,这里形参的不同可以是参数类型的不同,也可以是形参个数的不同,但是不能够通过方法的返回值类型不同实现方法的重载,因为很多时候,我们是不关注方法的返回值的,并且对访问权限没有严格要求;“重写”是指它随时随地的都只有一种含义,只是原先的含义完全被后来的含义取代了,java中方法的重写一般发生在类的继承过程中,子类中的方法与父类中的方法是用相同的名字、相同的参数列表和返回类型,访问控制符使用和父类相同或者更宽,异常声明不能更加广泛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值