美文网首页
Java面向对象-类与对象的概念和使用

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

作者: 筱笑 | 来源:发表于2017-07-14 15:59 被阅读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
    

    相关文章

      网友评论

          本文标题:Java面向对象-类与对象的概念和使用

          本文链接:https://www.haomeiwen.com/subject/eeanhxtx.html