java 部分知识点总结

1.继承就是抽取两者的共性,并修改完善。即子类可以继承父类的成员方法以及成员变量,并可以扩展自己的一些特有的内容。

格式为:

public class 子类名 extends 父类名{

   

}

例如:publicclassZi extends Fu{

   

}

2.继承中变量的访问特点:

要是在子类方法中去访问一个变量,则访问顺序是:子类内部成员范围找—子类成员变量范围去找—父类成员范围去找,要是都没有就会报错,不要去考虑父类的父类。

3.构造方法的访问特点:

!!!子类中的所有构造方法都会默认优先访问父类无参构造方法。

其目的是为了帮助继承父类的成员完成初始化操作,要调用父类中的一个特定的构造方法时要在子类的构造方法的第一行写上super(参数 )语句,去调用有参构造方法。

!!!但要是父类中只有有参构造方法时,可以在父类中的有参构造方法的上面第一行人为地再去创建定义一个无参构造方法。

4.super( )与this( )的相似点与区别:

  相似点:

  4.1. 两者功能相似

  4.2. 都必须放在构造方法内的第一行(即super()与this()两者不能同时存在同一个构造方法内)

  4.3. 都是指的对象(即super同样不能在static环境中使用,包括静态方法和静态初始化器(static语句块))

4.4. 区别:

super( )是从子类的构造方法去调用父类的构造方法,而this( )则是在同一个类内调用其他构造方法。

5. protected用法:

要想在子类访问父类中的成员则需把父类的成员声明为protected ,则可在子类中直接访问父类中的成员,,系统会优先调用父类中的无参构造方法,则需在父类中定义一个无用的无参构造方法,且在继承构造中,引用父类的某个成员并赋值,再输出,后面按常规来写即可

protect成员不仅可以在父类中直接访问,也可以在子类中去访问父类的成员变量和成员方法如:

package first8;

class Person3 {

protected String name;

protected int age;

public Person3() {

}// 定义一个无用的无参构造方法

public Person3(String name, int age) {

this.name = name;

this.age = age;

}

protected void show() {

System.out.println("姓名:" + name + "年龄:" + age);

}

}

class Student3 extends Person3 {

private String department;

int age = 20;

public Student3(String na, String dep) {

// super(na,age);

super();

name = na;

department = dep;

super.age = 19;

//定义父类中的年龄值

System.out.println("子类Student中的成员变量age=" + age);

super.show();

System.out.println("系别:" + department);

}

}

public class App8_3 {

public static void main(String[] ages) {

Student3 stu = new Student3("李阳 " , "食品科学工程系");

}

      运行结果为:

      子类Student中的成员变量age = 20

      姓名:李阳  年龄:19 

      系别:食品科学工程系                                                                                                                                                                                                                                                                                                                                                                                                   

6.覆盖

重写(覆盖):是指在子类中,定义名称,参数个数与类型均与父类中完全相同的方法,用于实现重写父类中同名方法的功能。

覆盖 就是子类和父类的方法和成员变量和成员方法及参数什么的都一样。

即在定义父类已经有的方法时,子类应该与父类的方法有完全一样的方法名,返回值类型和参数,也就是说子类则不能继承父类的方法,是覆盖父类的方法。

@  Override注解可以检验重写是否正确

用法是:在重写方法的前一行写上@Override,要是报错则说明重写中与父类有不同的地方,需认真对比检查改写,不报错则重写正确,注释掉或者删除@Override即可;

子类重写父类时的要求:

1.父类的私有方法不能被子类重写 即子类不能继承私有的方法

2.子类的访问修饰符要比父类的访问修饰符的等级要高(public>默认(void前面没有修饰符的)>private)  “要青出于蓝胜于蓝”

3.子类中不能覆盖父类中的声明为final或static的方法

通过父类的对象去访问子类的成员,只能是子类方法覆盖父类方法的情况下才行。

//向上转型:创建父类类型的变量指向子类对象,即将子类对象赋值给父类类型的变量,是将子类对象看作父类对象,是从一个较具体的类到一个较抽象的类之间对的转换,这种技术称为向上转型

向下转换:就是将父类对象通过强制转换为子类型再赋值给子类对象的技术,也就是将较抽象的类转换为较具体的类。例:Student stu = (Student)per 当使用向下转型技术时,必须使用显式类型转换。

7.final最终类

  1. 凡是被声明为final的量均为常量,不可被修改,只有在定义时被赋值,且只能赋值一次,不能缺省,不能被子类所继承

赋值方式:

  在定义时被赋值

  在某个构造方法中进行赋值

  1. 父类中被声明为final的成员在子类中可被继承,但不可被覆盖

  2. final类不能有子类,被称为最终的方法

  3. 被final和static所修饰的成员变量,其实就是常量,只有在定义时才能被赋值

8.object类

object类是所有类的源,或是理解为所有类的父类。而若某个类没有用extends关键字修饰,则默认为java,lang,Object类的子类。equals( )方法和getSring( )方法都是object类所定义的方法,所以两者在任何类中都可以被调用继承

理解:object 类位于类的最顶端

8.1 equals( )方法与" = = "的异同点:

(1)异:

  “ = = "是用于比较两个变量中的值是否相同,而equals( )方法则是用于比较两个字符串的内容是否相同

(2)同:

  两者都是用来比较两个类类型的变量是否指向同一个对象

  而对于非字符串的变量而言,两者都是用来比较其所要指的对象在堆内存中的首地址

8.2 toString( )方法

其功能是将调用该方法对象的内容转换为字符串,并返回其内容,而返回的却是一些没有意义的字符串,所以要是想用其返回方法的内容需重新定义该方法去覆盖父类中的同名方法,即覆盖父类重新定义子类。

8.3.getClass( )方法!!!

功能为:返回运行时的对象所属的类

操作目的说明:因为class类没有构造方法,所以要通过object类的getClass( )方法来获取对象所对应的class对象,那么在取得class对象之后,就可以通过class对象的一些方法来获取类的基本信息 

  那getClass( )方法就是个"媒婆"呗!!!

8.4 对象运算符 instanceof

注:测试运算符

即可根据返回值去判断测试一个指定的对象是否指定类或它的子类的实例,是则返回true 否则返回false

因为object类中的getClass( )方法是返回运行时的对象其所属的类,返回值是为Class类型的,而class类中的getName( )方法则是返回一个类的名称,返回值是为Sring类型,遵守“即是”法则 ,即通过当前对象this去调用getClass( )方法,得到对象所属的类(class),再用Class中的getName( )方法去得到this类名的字符串,也可以用getSuperclass( )方法获得其父类。

                                                                                                                                                                                                                                                                                                                         

9.抽象类(abstract)

概念:

抽象类是指创建专门的类来作为父类的类。又因为抽象类只能通过抽象类派生出的子类来创建新的对象,而不能直接用原有的抽象类创建新的类,所以抽象类就是不能用new运算符来创建实例对象的类,可以作为父类被它的所有子类所共享

目的:根据抽象类的格式来创建和修改新的类

特点:

  1. 以abstract关键字开头

  2. 只声明返回值对的数据类型,方法名称与所需的参数,即方法头,而没有方法体,即只需声明,而不需实现,用“ ; "结尾

  3. 在抽象方法里面不能定义方法体

  4. 声明中static和abstract修饰符不能同时使用

  5. 抽象类必须需要被继承,所以不能用final去修饰,即不能为最终类,否则不可被继承,修改,即abstract也不能和final同时使用

  6. 也不能与private或者native同时修饰同一个方法

  7. 抽象类不一定包括抽象方法,但抽象方法一定要声明为抽象类

  8. 抽象类可以有构造方法,并可以有其子类的构造方法所调用,但构造方法不可以被声明为抽象的

抽象类——子类——对象

定义抽象类的格式:

abstract class 类名

{

声明成员变量

返回值的数据类型 方法名(参数)

{

.

.

.

}

abstract 返回值的数据类型 方法名(参数);

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容