大数据学习20190321

Posted 野犬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习20190321相关的知识,希望对你有一定的参考价值。

面向对象的四大特性

static关键字

 

/*    
 * static关键字:
 * 静态的属性和方法属于类的,使用的时候使用类名.属性名或方法名;
 * 非静态的属性和方法属于对象的,使用的时候需要先实例化对象(new),然后使用对象.属性名或方法名;
 * 非静态属性在当前类中不能静态的方法直接使用;
 * 静态方法和属性在当前类中可以被静态和非静态方法直接使用;
 * 
 * 在Java中static修饰的函数不能被子类重写;
 * 被final修饰的父类函数是无法被重写;
 * 被private修饰的父类函数无法被继承。
 * 
 * 静态代码块:
 * static{Java代码块}
 * 静态代码块在类被第一次加载的时候第一个执行,并且只执行一次;
 * 
 */

 

技术图片
public class StaticDemo {

    String a = "非静态属性";
    static String b = "静态属性";
    static int c;
    static int d;

    static {
        System.out.println("这是静态代码块,在类第一次被加载的时候第一个被执行");
        c = 5;
        d = 4;
    }

    public static void staticMethod() {
        System.out.println("这是静态方法!");
        // System.out.println(a); //静态方法无法直接调用非静态属性
        System.out.println(b);

    }

    public void unStaticMethod() {
        System.out.println("这是非静态方法!");
        System.out.println(a);
        System.out.println(b);
    }

    public static void main(String[] args) {

        staticMethod();
        // System.out.println(b);
        // unStaticMethod();
        // System.out.println(a);
        System.out.println(b);
        StaticDemo sd = new StaticDemo();
        System.out.println(sd.a);
        System.out.println(sd.b);

    }
}
View Code

 

抽象

把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫类或者接口,抽象并不打算了解全部问题,而是选择其中一部分,暂时不用部分细节。

抽象包括两个方面:一个是数据抽象,而是过程抽象。

数据抽象:表示世界中一类事物的特征,就是对象的属性;

过程抽象:表示世界中一类事物的行为,就是对象的行为。

 

 

封装

 

 

技术图片
package demo;

public class Teacher {
    //对属性私有化进行封装     赋值方法     取值方法         
    //没有私有化的属性也可以进行封装,但没有意义
    private double money = 100;

    public void setMoney(double money){
        this.money = money;
    }
    
    public double getMoney(){
        return money;
    }    
}
View Code

 

技术图片
package demo;

public class Student {

    public static void main(String[] args) {
        Teacher t1 = new Teacher();
        // System.out.println(t1.money);
        System.out.println(t1.getMoney());
        t1.setMoney(200);
        System.out.println(t1.getMoney());
    }
}
View Code

1.通过构造方法创建对象

 

Student stu = new Student();

 

2.通过工具类(媒婆)创建对象

技术图片
package demo;

public class OopDemo01 {
    static OopDemo od = new OopDemo();
    
    public static OopDemo getInstance(){
        return od;
    }
}
View Code

3.通过工厂模式(代理模式)创建对象

 

技术图片
package demo;

public class FactoryDemo {
    OopDemo od;
    
    public static OopDemo getOopDemo(){
        
        return new OopDemo();
    }
    
    public OopDemo getOopDemo01(){
        
        od = new OopDemo();
        return od;
    }
}
View Code

 

 

继承

对象的一个新类可以从一个现有的的类中派生,这个过程称为继承。新类继承了原始类的特性,新类成为原始类的派生类(子类),原始类称为新类的基类(父类),派生类可以从他的父类那里继承方法和属性。

多态

指允许不同类的对象对同一消息做出响应,多态性包括参数化多态性和包含多态性,多态性语言具有抽象/灵活/行为共享/代码共享的优势。方法的重写,重载与动态链接构成多态性,Java引入多态的概念原因之一就是弥补类的单继承带来的功能不足。

动态链接-->对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法。

 

以上是关于大数据学习20190321的主要内容,如果未能解决你的问题,请参考以下文章

BGP-20190321-dampening

VSCode自定义代码片段13——Vue的状态大管家

VSCode自定义代码片段13——Vue的状态大管家

VSCode自定义代码片段13——Vue的状态大管家

如何绕过将数据模型传递给片段参数以避免事务太大异常?

AngularJS入门学习笔记一