Java面向对象

1. 方法

    方法就是对java代码功能的封装。

1.1 方法定义的格式

[访问修饰符] [关键字[static]] 返回值类型 方法名([参数列表]){}

for example:

    public static int add(int a,int b){ retun a+b;}

1.2 方法的调用

在main方法中调用该方法,完整代码如下:

1    public static void main( String[] args ) 2    { 3       System.out.println("1+3="+add(1,3)); 4    } 5     6    public static int add(int a,int b){ 7     return a+b; 8    }

    输出结果:

1+3=4

1.3 方法的分类

方法可以分成三种: 构造方法(构造函数,构造器),实例方法,类方法

构造方法定义的格式: [访问修饰符] 类名([参数列表]){}

实例方法定义的格式  [访问修饰符] 返回值类型 方法名([参数列表]){}

类方法定义的格式     [访问修饰符] static 返回值类型 方法名([参数列表]){}

从上面可以看出,三种方法的定义格式不同,那么同理他们的调用方式也有些许差异:

1class Person{ 2 public static void main(String[] arg){ 3 Person p=new Person(); 4 p.print();//用该类型的变量.方法名调用实例方法 5 Person.p();//直接用类名.静态方法名调用静态方法 6 } 7 public Person(){ 8 System.out.println("Person的构造方法"); 9 } 10 public void print(){ 11 System.out.println("Person 类的实例方法"); 12 } 13 public static void p(){ 14 System.out.println("Person 类的静态方法"); 15 } 16}

测试结果:

1Person的构造方法 2Person 类的实例方法 3Person 类的静态方法

2. 方法的重载

     方法的重载发生在同一个类中,构成重载的元素有:

   1. 方法名必须相同

   2. 方法的参数类型列表不同(参数的个数,类型,顺序)

   3. 访问修饰符,返回值类型 不影响重载

3. 方法的重写(覆盖)

  首先方法的重写发生在父类类的继承关系之上

  子类重写了父类的方法

1方法覆盖必须满足下列条件 2 3(1) 子类的方法的名称及参数必须和所覆盖的方法相同 4 5(2) 子类的方法返回类型必须和所覆盖的方法相同或者是覆盖方法返回值类型的子类 6 7(3) 子类方法不能缩小所覆盖方法的访问权限 8 9(4) 子类方法不能抛出比所覆盖方法更多的异常(子类抛出的异常要小于等于父类跑出的异常)
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java中static的作用详解

java中static关键字表示静态的意思,主要用于以下三点,static成员变量,static成员方法和static块。在类中如果定义了static类型的对象(变量或者方法),在java虚拟机(JVM)加载类时,该对象就会被实例化,在使用的时候就不需要再去实例化,直接调用就可以了。常与private,public搭配使用。下面详细说一下这三部分。1

java.util.Collections.swap()方法实例

java.util.Collections.swap()方法实例swap(List<?,int,int)方法被用于交换在指定列表中的指定位置的元素。声明以下是java.util.Collections.swap()方法的声明。publicstaticv

java基础类库

java类库的基本介绍与用户互动运行Java程序的参数main()方法分析public修饰符:Java类由JVM调用,为了让JVM可以自由调用这个main()方法,所以使用public修饰符把这个方法暴露出来static修饰符:JVM调用这个主方法时,不会先创建该类的对象,然后通过对象来调用该主方法

IOS全局变量

IOS中的全局变量和JAVA中的全局变量定义和使用方法不一样,在Java中,只需要将变量定义为static就行了。而在IOS中这种方法不适合。IOS中定义全局变量有三种方法:1.使用extern关键字在AppDelegate.m或AppDelegate.h中写入你需要的全局变量名,例如:int name;注意定义全局变量时候不能初始化,否则报错

Smali语法学习二

方法签名methodName(III)Lpackage/name/Object;methodName表示方法名,\\(III)\\表示该方法有三个int型参数,Lpackage/name/Object表示方法返回类型。方法的表示Lpackage/name/Object;—methodName(III)Z