![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面向对象
文章平均质量分 81
进阶的Java蜗牛
这个作者很懒,什么都没留下…
展开
-
形参长度可变的方法
从JDK1.5之后,Java允许定义形参可变的参数,从而为方法指定数量不确定的形参。如果在定义方法时,在最后一个形参的类型后增加三点(...),则表示该形参可以接受多个参数值,多个参数值被当成数组传入。下面定义了一个形参长度可变的方法 //定义了形参长度可变的方法 public static void test(int a,String ... books){ //books被方程数原创 2015-06-02 21:11:07 · 862 阅读 · 0 评论 -
隐藏和封装
我们有时候会见到一些程序代码通过某个对象直接访问其属性的情形,这可能引起一些潜在的问题:如将某个Person的age属性直接设为100,这在语法上没有任何问题,但显然违背了现实。因此,Java程序推荐将类和对象的属性进行封装。封装是面向对象三大特征之一(另外两个是继承和多态),它指的是将对象的现状信息封装在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现原创 2015-11-29 12:48:34 · 1001 阅读 · 0 评论 -
构造器
构造器是一个特殊的方法,这个方法用于创建类的实例。Java语言里构造器是创建对象的重要途径。构造器最大的用处就是在创建对象时执行初始化。当创建一个对象的时候,系统为这个对象默认进行初始化。这种默认初始化把所有的属性设为0(对数值类型)或false(boolean类型),把所有的引用类型属性设置为null。下面是一个Demo:[java] view原创 2015-11-29 12:49:08 · 339 阅读 · 0 评论 -
类的继承
1、继承的特点Java的继承通过extends关键字来实现,Java的继承具有单继承的特点,每个子类只有一个直接父类。子类继承父类,将可以获得父类的全部属性和方法。值得指出的是:java的子类不能获得父类的构造器。下面程序示范了子类继承父类的特点,下面是Fruit类的代码:[java] view plaincopypubl原创 2015-11-29 12:50:17 · 388 阅读 · 0 评论 -
多态
Java引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。先看下面的程序:[java] view plaincopypublic class BaseClass { public原创 2015-11-29 12:50:58 · 230 阅读 · 0 评论 -
初始化块
Java使用构造器对单个对象进行初始化操作,使用构造器先把整个Java对象的状态初始化完后才能,然后将Java对象返回给程序,从而让该Java对象的信息更加完整。与构造器作用非常类似的是初始化块,它也可以对Java对象进行初始化操作。初始化块是Java类里可出现的第四种成员(前面依次有属性、方法和构造器),一个类里面可以有多个初始化块,相同类型的初始化块之间有顺序;前面定义的初始化原创 2015-11-29 12:51:39 · 382 阅读 · 0 评论 -
抽象类和接口
当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么该方法都有具体的方法体。但在某些情况下,某个父类只是知道了其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法,例如定义了一个Shape类,这个类应该提供一个计算周长的方法calPerimeter(),但不同Shape子类对周长的计算方法是不一样的,即Shape类方法无法准确知道其子类计算周长的方原创 2015-11-29 12:53:00 · 309 阅读 · 0 评论 -
类和对象
Java支持面向对象的三大特征:封装、继承、多态,java提供了private、protect、public三个访问控制修饰符来实现良好的封装,提供了extends关键字来让子类继承父类,子类继承父类将可以继承到父类的属性和方法,如果访问控制允许,子类实例可以直接调用父类定义的方法。继承是实现类复用的重要手段,除此之外,也可以通过组合关系来实现这种复用,从某种程度上来看,继承和组合具有原创 2015-11-29 12:45:11 · 276 阅读 · 0 评论 -
final修饰符
final 变量final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。严格的说final修饰的变量不可被改变,一旦获得初始值之后,该final变量的值就不能被重新赋值。因为final变量获得初始值之后不能被重新赋值,因此final修饰成员变量和修饰局部变量时有一定的不同。f原创 2015-11-29 12:52:17 · 373 阅读 · 0 评论 -
成员变量和局部变量
在Java语言中,根据定义变量位置的不同,可以讲变量分为2大类:成员变量和局部变量。成员变量和局部变量运行机制存在较大差异。1.1成员变量和局部变量成语变量指的是在类范围里定义的变量,也就是前面所说的属性;局部变量指的是在一个方法内定义的变量。成员变量分为:实例属性(不以static修饰),类属性(以static修饰)。局部变量分为:形参(方法签名中定义的变量),方法局部变原创 2015-11-29 12:47:12 · 387 阅读 · 0 评论 -
方法的参数传递机制
Java里的方法是不能独立存在的,调用方法必须由类或者对象作为主调者,如果声明方法时包含了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时实际传递给形参的参数值也被称为实参。Java的参数传递只有一种方式:值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而参数本身不受任何影响。下面程序演示了方法参数传递的效果。public class C { private原创 2015-12-08 00:16:25 · 1244 阅读 · 1 评论