Java面向对象-类与对象的概念和使用

2017-07-14  本文已影响28人  筱笑

一、Java方法创建和重载

1、方法的定义

方法就是一段可重复调用的代码段。

定义格式:
访问修饰符 返回值类型 方法名(){ 方法主体 }

示例
代码

public class Demo01 {
    public static void main(String[] args) {        
        
    }
    public void tell() {
        System.out.println("hello");
    }
    /**
     * 方法的返回值类型,void类型是不需要返回值的,其他的类型全部是需要有返回值的
     * @return
     */
    public int say() {
        
        return 1;
    }
    
    public String print() {
        
        return "hello";
    }
    
    public void tell1(int i,String n) {
        System.out.println(i+n);
    }
    
    public int tell2(int i) {
        return i;
    }
}

2、方法的重载

方法的重载:方法名称相同,但是参数的类型和个数不同,通过传递参数的个数和类型不同来完成不同的功能。

示例
代码
public class Demo02 {
    public static void main(String[] args) {
        tell(10,20);
        tell(10, 20, 30);
    }
    public static void tell(int i,int j) {
        System.out.println(i+j);
    }
    
    public static void tell(int i,int j,int n) {
        System.out.println(i+j+n);
    }
    
/**
 *  这个两个不叫重载
 *  public int tell() {
 *      
 *  }
 *  public String tell() {
 *      
 *  }
 *
 */
    
}
结果:
30
60

二、类的创建及类与对象的关系

1、类的定义、声明、使用

  • 格式:
    class 类名称{ 属性 方法 }
  • 声明一个类需要通过一个关键字class
示例
代码
class Person{
    String name;
    int age;
    public void tell() {
        System.out.println("姓名:"+name+"    "+"年龄:"+age);
    }
}
public class Demo03 {
    public static void main(String[] args) {
        
    }
}

2、类与对象的关系

类是对某一类事物的描述,是抽象的、概念上德意义,对象是实际存在的该类事物的每一个个体,也被称为对象或实例。

类与对象的关系.jpg
示例
代码

class Person{
    String name;
    int age;
    public void tell() {
        System.out.println("姓名:"+name+"    "+"年龄:"+age);
    }
}
public class Demo03 {
    public static void main(String[] args) {
        /**
         * 创建对象
         */
//      Person per = null;//声明
//      per = new Person();//实例化操作
        
        Person per = new Person(); //声明并实例化
        
    }
}

3、内存的划分

内存划分一.png
代码
class Person{
    String name = null;
    int age = 0;
    public void tell() {
        System.out.println("姓名:"+name+"    "+"年龄:"+age);
    }
}
public class Demo03 {
    public static void main(String[] args) {
        /**
         * 创建对象
         * 对象.属性  : 对属性进行赋值
         * 对象.方法  : 对方法进行调用
         */
//      Person per = null;//声明
//      per = new Person();//实例化操作
        Person per = new Person(); //声明并实例化
        per.name = "张三";
        per.age = 30;
        per.tell();
    }
}
结果:
姓名:张三    年龄:30
内存划分二.png

三、Java面向对象思想编程

  • 程序的发展历程:面向过程、面向对象。
  • 解释面向过程和面向对象:(以制作盒子为例)
    面向过程:不去想做什么样子的盒子,随机取工具制作;
    面向对象:先想好做一个什么样的盒子,再去找对应的工具去做。

面向对象的三大特征:

四、Java方法递归调用

递归调用是一种特殊的调用形式,就是方法自己调自己。

递归.png
代码
public class Demo04 {
    public static void main(String[] args) {

        System.out.println(addNum(100));;
    }
    /**
     * 从1加到100:100+99+98+......+1
     * @param num
     * @return
     */
    public static int addNum(int num) {
        if (num == 1) { //程序出口
            return 1;
        }else {
            return num+addNum(num-1);
        }
    }
}
结果:
5050
上一篇下一篇

猜你喜欢

热点阅读