• java面向对象的一些知识


    (1)this和super关键字的用法

           this表示调用本类实例方法和成员变量,this引用就是对一个对象的引用,如this.name  表示本类成员变量name,静态方法中不能使用this关键字。

           super关键字的用法:调用父类的构造方法,如super([参数列表]);操作被隐藏的成员变量和被重写的方法。

    (2)几种常见的访问修饰符:

           private表示私有的,便是在本类是可见的。在其它类中是不可见或者只有通过本类提供的方法来访问它。

           protect表示受保护的,表示在本包中是可见的。

           public表示公开的,没有什么权限。

           属性一般设置为private,表示成员属性,方法一般设为public 也有private,一般private方法是供类内部使用(帮助方法)。

    (3)重写(override)和重载(overload):

           重写表示在继承过程中对父类的方法进行在重写,其方法名和参数返回值类型是不变的。重载表示同一类的中方法名、返回值类型相同,但是参数类型,参数个数,参数位置的不一样。

    (4)面向对象封装的特点:

           封装就是将数据和方法包装进类中,加上具体实现的掩藏。其结果就是同时带有特征和行为的数据类型。

    (5)里氏替换Lsp,上转型,下转型,如

    public void feedDog(Pet p, Food f) {
    		System.out.println("主人给" + p.getName() + "喂食" + f.getName());
    		if (p instanceof Dog) {
    
    			// Pet d=(Dog)p;
    			// Food b=(Bone)f;
    			// d.eatFood(b);
    			p.eatFood(f);
    		} else {
    			System.out.println("请给狗狗喂食!");
    		}
    

    (5)多态:

           广义的多态包括重载(overload)和重写(override),狭义的多态仅指重写。

           重写:对多个对象下达同一命令时,根据重写的方法的不同,而有不同的执行结果。

           重写多态的三种实现方式:1,直接重写,子类直接重写父类同名同参的方法,父类new一个子类对象,通过父类方法,调用子类重写的方法。

           2,抽象类抽象方法的重写(抽象类的一些要点:抽象类不能够实例化,也就是说不能在堆空间给其分配空间;抽象方法只能在抽象类中;实现抽象类的继承,必须重写基类的        抽象方法;抽象方法只声明不实现。通过抽象基类new子类,调用父类.抽象方法()实现多态)

           3,接口的重写。接口的概念:a,接口是一套规范,接口中只声明方法 b,实现接口就具有了接口的功能,拓展子类的功能 c,接口可以实现多个,弥补了java单继承的缺            点。

           java常见的接口:Collection,List,Iterable,Set,connection,Statement,PerParedStatement,Comparable,Comparator,Runable

           其中对象数组在使用Arrays.sort()方法的时候,如果在一段程序代码中只需实现一种排序方式,则需要对象类实现Comparable接口。如果需要同一段程序中实现多种排序,        则需要写其他排序规则的类来实现Comparator接口。

    (6)接口和抽象类的异同点。相同点都是多态的实现方式,都实现了重写。不同点是:抽象类属于继承,抽象类的继承类似与“is a”的语句,而继承接口类似与“like a”的语句。

  • 相关阅读:
    RIGHT-BICEP单元测试——“二柱子四则运算升级版”
    个人项目之“二柱子四则运算升级版”(续)
    个人项目之 “二柱子四则运算”升级版
    “进度条”博客
    课后实验3--四则运算3
    构建之法阅读笔记01
    第二周学习进度
    四则运算2单元测试
    课后实验2--四则运算2
    课后实验1--四则运算
  • 原文地址:https://www.cnblogs.com/deng-c-q/p/5036767.html
Copyright © 2020-2023  润新知