美文网首页
javase part4 - 面向对象

javase part4 - 面向对象

作者: 不再饿肚子给人送饭 | 来源:发表于2017-11-13 10:57 被阅读0次
    Object is everything.
    一个简单的类的UML表示.png
    面向对象几大概念:(封装,继承,多态) (类,对象,属性,方法)

    封装
    继承
    多态

    class className{
      [class body]
    }
    
    /**
     * 实体类 Book
     *
     * @author Panda
     */
    public class Book {
        //定义属性
        private Integer bookId;
        private String bookName;
        private String bookAuthor;
        private Integer bookPrice;
    
        //定义方法,方法是类的行为,当前这个方法的行为就是将类中的属性打印到屏幕
        @Override
        public String toString() {
            return "Book{" +
                    "bookId=" + bookId +
                    ", bookName='" + bookName + '\'' +
                    ", bookAuthor='" + bookAuthor + '\'' +
                    ", bookPrice=" + bookPrice +
                    '}';
        }
    }
    
    • 类是创建同类型对象的蓝图或者模板
    • 类是使程序员可以创建问题抽象的一个oop工具
    • 因此,类决定对象
    • 类是Java程序最基本的构建块,Java中的所有程序必须属于类
    • 使用new关键字来创建一个类的实例

    对象

    • 用oop语言开发应用程序时,可以创建一个和真实情况类似的模型来解决问题,这个模型就是对象

    属性

    • 属性就是变量,可以是基本类型也可以是引用类型
    • 属性用来决定相同模板生产的对象的不同之处
    • 属性是对象的特征

    方法

    returnType methodName(listOfArguments){
      [method body]
    }
    
    • 方法定义了类的对象可以做的动作(方法是对象的行为)
    其余部分

    构造器

    constructorName(listOfArguements){
      [constructorBody]
    }
    
    • 每个类必须有一个构造器,否则无法从这个类创建对象
    • 如果没有自定义构造器,编译器会默认添加一个无参的构造器(自定义了构造器就把默认的给干掉了)
    • 构造器可以没有参数
    • 构造器参数可以用来初始化变量中的属性

    默认值

    • 类的属性不赋值会有默认值,同样的还有数组
    • 默认值:整型为0,浮点为0.0,布尔为false,String 为null

    实例变量和局部变量

    • 如果局部变量和实例变量重名,方法使用变量会依据就近原则

    this关键字

    • 可以使用关键字 this 从任何方法或者构造器引用当前的对象
    • 例如:如果有一个实例变量和局部变量重名,可以使用this关键字引用前者
    • this 关键字常见于 接受初始化属性的值的构造器中.
    
     /**
     * JavaBean
     * @author Panda
     */
    public class Box {
        int length;
        int width;
        int height;
    
        /**
         * 构造方法
         * @param length        参数
         * @param width         参数
         * @param height        参数
         */
        public Box(int length, int width, int height) {
            //使用this.length 表示引用的是类的实例变量
            //参数length和表达式右侧的length是同一变量
            this.length = length;
            this.width = width;
            this.height = height;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:javase part4 - 面向对象

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