美文网首页
2019-06-04复习要点类

2019-06-04复习要点类

作者: 卡布奇诺_7828 | 来源:发表于2019-06-04 19:03 被阅读0次

    复习要点

    1.类class

    1.1类的创建

    类是一个.java文件,类是一个抽象的概念,是属性和方法的一个“容器”

    public class Student{
        private int age;
        private String name;
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }
    
    1.2创建对象

    上述所说的类,类似一个“工厂”,它可以帮我们生产“产品”,这个“产品”我们称为对象

    对象具有这类所有的属性和方法

    充分理解类是生成对象的模板这句话

    public class Test{
        public static void main(String[] args) {
            // 创建对象 : 利用构造器创建对象,student我们称为Student类的一个实例(对象)
            // 该实例,可以调用Student类中的方法来执行功能
            // 提示:如果Student中具有static方法,可以直接通过类名调用
            Student student = new Student();
            
            // 调用其方法,如果有返回值,可以用相应类型的变量接取
            String name = student.getName();
            // 调用其方法,如果需要传参,必须传对应类型
            student.setName("李四");
        }
    }
    

    提示:方法的调用,参数,返回值需要反复练习,彻底掌握

    1.3方法和对象结合

    充分理解方法和对象的前提下,来看他们的结合使用

    例题1:

    public class Student{
        private int age;
        private String name;
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }
    
    public class Test{
        public void showInfo(Student student){
            // 打印输出传入的student对象的name
            System.out.println(student.getName());
        }
        public Student create(Student student){
            // 返回值也是一个对象,那调用这个方法将接到这个对象,看下面的test方法
            Student student = new Student();
            student.setName("王五");
            return student;
        }
    }
    
    public class Main{
        public void test(){
            Test test = new Test();
            Student student = test.create();
            System.out.println(student.getName());// 打印输出王五
        }
    }
    

    例题2:

    public class Student{
        private int age;
        private String name;
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
    }
    
    public class DBUtils{
        private static DBUtils db;
        private DBUtils(){}
        public static DBUtils getInstance(){
            if(db == null){
                db = new DBUtils();
            }
            return db;
        }
        public Student getStudent(){
            Student student = new Student();
            student.setName("mike");
            return student;
        }
    }
    
    public class Test{
        public static void main(String[] args) {
            // 通过类名调用方法,得到返回值
            DBUtils db = DBUtils.getInstance();
            // 对象可以调用它所在类的方法
            Student sutdent = db.getStudent();
            // 可以简写简写
            Student sutdent1 = DBUtils.getInstance().getStudent();
        }
    }
    
    1.4上溯造型(父类引用指向子类对象)

    接口:interface,作用相当于父类,但接口与抽象类一样,是不能实例化的

    抽象类:abstract class

    public interface Father{ // 接口页是纯抽象的
        void show(); // 抽象方法
    }
    
    public class Son implements Father{
        public void show(){
             System.out.println("子类实现方法");
        }
    }
    
    public class Test{
        public static void main(String[] args) {
            // 上溯造型
            Father father = new Son();
            father.show(); // 打印输出 子类实现方法
        }
    }
    

    经典练习题

    1.植物大战僵尸控制台版

    2.熟练掌握方法的使用,弄清返回值,参数的意义

    3.熟练掌握形参是对象,返回值是对象的用法

    
    

    4.什么是方法重写

    当一个子类继承一个父类时,它同时继承了父类的属性和方法。子类可以直接使用父类的属性和方法,如果父类的方法不能满足子类的需求,则可以在子类中对父类的方法进行重写(或覆盖)。
    

    5.抽象类和接口有什么区别

    抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板 
    
    接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情 
    
    

    6.书写单例工厂

    public class Singleton {
    
        private final static Singleton INSTANCE = new Singleton();
    
        private Singleton(){}
    
        public static Singleton getInstance(){
            return INSTANCE;
        }
    }
    
    
    
    
    public class Singleton {
    
        private static Singleton singleton;
    
        private Singleton() {}
    
        public static Singleton getInstance() {
            if (singleton == null) {
                synchronized (Singleton.class) {
                    singleton = new Singleton();
                }
            }
            return singleton;
        }
    }
    

    相关文章

      网友评论

          本文标题:2019-06-04复习要点类

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