zoukankan      html  css  js  c++  java
  • 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”的语句。

  • 相关阅读:
    Struts2框架中使用Servlet的API示例
    struts2 过滤器和拦截器的区别和使用
    Struts2框架的概述及学习重点
    source .bashrc 报错:virtualenvwrapper.sh: There was a problem running the initialization hooks.
    SE93 创建参数事务
    SM30 客户端 有“不可修改”的状态
    CO借贷标识及转换
    Ubuntu install 错误 E:Unable to locate package
    0CO_PC_01 成本对象控制: 计划/实际数据
    SAP函数PREPARE_STRING:提取字符串中的数字
  • 原文地址:https://www.cnblogs.com/deng-c-q/p/5036767.html
Copyright © 2011-2022 走看看