您的位置:首页 > 其它

方法,面向对象,构造方法,继承,多态,抽象类,接口

2017-08-10 21:29 519 查看
方法的格式

修饰符  返回值类型  方法名(参数类型  参数名 1,参数类型  参数名 2…) {

函数体;

return  返回值;

}

方法调用的三种方式

方式1:单独调用

sum(x,y);

方式2:输出调用

System.out.println(sum(x,y));

System.out.println(30);

方式3:赋值调用

int result = sum(x,y);

result在这里可以进行操作

System.out.println(result);

ex.   public static void int sum(int a,int b){

        }

方法的注意事项:

A:方法不调用不执行

B:方法与方法是平级关系,不能嵌套定义

C:方法定义的时候参数之间用逗号隔开

D:方法调用的时候不用在传递数据类型

E:如果方法有明确的返回值,一定要有return带回一个值

方法重载:

在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

方法重写

子类中出现了和父类中一模一样的方法声明,也被称为方

法覆盖,方法复写。父类中私有方法不能被重写

面向对象:::成员变量--属性     成员方法行为。

创建对象:

 类名 对象名 = new 类名();

构造方法:构建创造对象时调用的方法。作用:可以给对象进行初始化。

在描述事物时,该事物一存在就具备的一些内容,这些内容都定义在构造方法中

构造方法可以有多个,用于对不同的对象进行针对性的初始化.

多个构造方法在类中是以重载的形式来体现的。

构造方法格式  

 方法名与类名相同

 没有返回值类型,连void都没有

 没有具体的返回值

ex.     Person(){//无参

         age=1;

             }

Person (String pname){//有参,从生来就存在

      name=pname;

        }

只有继承时在构造方法中才可以用this.参数

哪个对象调用了 this 所在的函数,this 就代表哪个对象。并且this只能定义在构造函数的第一行。

继承    class 子类名 extends 父类名 {}

继承有:

单继承:一个子类只能有一个直接父类。

多继承:一个子类可以有多个直接父类。

this:代表一个本类对象的引用。

super:代表一个父类空间。并且super只能定义在第一行

多态前提和体现:

 有继承关系

 有方法重写

 有父类引用指向子类对象

向上转型

 从子到父

 父类引用指向子类对象

ex.    动物 d = new 猫();

  or    用一个方法,调用

 向下转型

 从父到子

 父类引用转为子类对象

ex.    if (animal instanceof Dog) {

   final Dog dog = (Dog) animal;

   dog.kanMen();

  }

抽象类和抽象方法必须用abstract关键字修饰

 格式

 abstract class 类名 {}

 public abstract void eat();

抽象类不一定有抽象方法,有抽象方法的类一定是抽象类

 抽象类不能实例化

 那么,抽象类如何实例化呢?

 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,

抽象类多态。

 抽象类的子类

 要么是抽象类

 要么重写抽象类中的所有抽象方法

接口用关键字interface表示

 格式:interface 接口名 {}

 类实现接口用implements表示

 格式:class 类名 implements 接口名 {}

 接口不能实例化

 那么,接口如何实例化呢?

 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,

接口多态。

 接口的子类

 要么是抽象类

 要么重写接口中的所有抽象方法

成员变量

 只能是常量

 默认修饰符 public static final


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐