当多个类中出现相同功能,但是功能主体不同时,我们可以向上抽取,只抽取功能定义,而不抽取功能主体. 抽象类的特点 抽象方法一定在抽象类中. 抽象方法和抽象类都必须被abstract关键字修饰. 抽象类不可以用new创建对象,因为调用抽象方法没有意义. 抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,才能建立子类对象调用.(如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类.) abstract class Student { abstract void study(); abstr…
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1.  修改属性的可见性来限制对属性的访问(一般限制为private) private String sex; 2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问 public void setSex(String s){ this.sex=s; } public…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 仔细想一想,Animal应该是一个抽象的概念,相对于Animal来说,狗才是具体的概念 // Animal的行为也应该算是一个抽象的行为 // Java中对于这些抽象的概念或是抽象的行为,提供了一个关键字 abstract 来进行修饰 // 关键字 abstract用在类上,类称为抽象类:abstract class…
[14-10]面向对象-抽象类的产生 /* 描述狗,行为,吼叫. 描述狼,行为,吼叫. 发现他们之间有共性,可以进行向上抽取. 当然是抽取他们的所属共性类型,犬科. 犬科这类事物,都具备吼叫行为,但是具体怎么叫,是不确定的,是由具体子类来明确的. 这时在描述犬科时,发现了有些功能不具体,这些不具体的功能,需要在类中标识出来,通过Java关键字abstract(抽象). 定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类 */ /* 抽象类的特点. 1,…
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的.我现在不看书,光靠回忆去想这个特性的解释性语言,只能想到看书时很深刻的一句话,面向对象就是一个更加具体描述一个事件的一种设计方法,就像在公司里面吃饭,面向对象的话就是一个总负责人即类似大厨准备好菜谱什么的,分工下去给下属,每个人负责一个菜,每个人按照自己的秘方去完成,最后总的做出来形成一桌满汉全席…
现在一般的语言都支持面向对象,而java更是将其做到很过分的地步,java是强制使用面向对象的写法,简单的写一个Hello Word都必须使用面向对象,这也是当初我很反感它的一点,当然现在也是很不喜欢它这一点.但是不得不说它设计的很优秀也很流行. 面向对象 面向对象一般是将一些独立有相似功能的模块封装起来组成一个类,然后调用者不必关注实现细节而只需要关注调用某个类方法即可.面向对象简化了程序设计.与之相对应的是面向过程,而C就是典型的面向过程的程序设计语言. 面向对象一般有3种特性:封装.继承.…
02面向对象-重写/this/super/抽象类 ****1.this和super 作用: this: 区分本类的成员变量和局部变量同名情况 super:区分父类的成员变量和局部变量同名情况 用法: this.成员变量名;//访问本类的成员变量 this.成员方法名();//调用本类成员方法(this可以省略) super.成员变量名;//访问父类的成员变量 super.成员方法名();//调用父类的成员方法(super不可以省略) 2.扩展: this(参数);//调用本类的其他构造,具体是哪…
一.static: 1.static是一个标识符: - 有static修饰的成员表明该成员是属于类的; - 没有static修饰的成员表明该成员是属于实例/对象的. 2.static修饰的成员(Field.方法.初始化块),与类共存亡:static修饰的成员建议总是通过类名来访问,虽然它也可以通过实例来访问(实质也是通过类来访问的),所以平时若在其他程序中见到通过实例/对象来访问static成员时,可以直接将实例/对象 替换成类名: 3.程序都是先有类再有对象的,有可能出现有类但没有实例/对象的…
1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创建对象,还有就是通过Java API 来使用类. 1.不可变的类和对象 正常来说,我们使用类的时候都是为了生成一个对象,允许在以后更改对象的内容,但是有时候会要求不能改变他的内容.比如我们记录学生档案的时候,又或者是个人简历的时候,有些档案比如出生日期,一旦是确定的不会去更改,但是学历,工作经验会随…
面向对象(下) 类的继承 类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类,子类会自动拥有父类所有可继承的属性和方法.(用extends关键字)   //定义Animal类 class Animal{     String name;    //定义name属性     //定义动物叫的方法     void shout(){         System.out.println("动物发出叫声.");     } } //定义Dog类继承Ani…