zoukankan      html  css  js  c++  java
  • JAVA 笔记 七

    JAVA笔记七

    this:就代表本类的对象,this代表它所在函数所属对象的引用
    简单说:那个对象在调用this所在的函数,this就代表那个对象
    静态:static
    用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
    当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,
    还可以直接被类名调用。类名.静态成员
    static特点
    1.随着类的加载而加载
    2.优先于的对象存在
    3.被所有对象所共享
    4.可以直接被类名所调用
    实例变量和类变量的区别:
    1.存放位置。
    类变量随着类的加载而存在与方法区中。
    实例变量随着对象的建立而存在于堆内存中。
    2.生命周期:
    类变量生命周期最长,随着类的消失而消失
    实例变量生命周期随着对象的消失而消失
    什么时候使用静态?
    要从两方面下手
    因为静态修饰的内容用成员变量和成员函数
    什么时候定义静态的变量(类变量)?
    当对象中的出现共享数据时,该数据被静态所修饰。
    对象中的特有数据要定义成非静态存在于堆内存中
    什么时候定义类函数呢?
    当功能内部没有访问到非静态数据(对象的特有数据),
    那么该功能定义成静态的。
    class Peson{
    String name;
    public void show(){
    System.out.println("haha");
    }
    }
    class{
    public static void main(String[]args){
    Person p = new Person();
    p.show();
    }
    }
    }
    静态的应用
    class Demo
    {
    public static void main(){
    int[] arr={3,4,1,8};
    int max =getMax(arr);
    System.out.println("max="+max);
    }
    public static int getMax(int[] arr){
    int max =0;
    for(int i =1;max<arr.length;x++){
    if(arr[x]>arr[max]){
    max=x;
    }
    }
    return arr[max]

    }
    }
    设计模式:解决某一类问题最行之有效的方法
    单例设计模式:解决一个类在内存中只占用一个对象
    想要保证对象唯一
    1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象。
    2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象
    3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
    这三步怎么用代码体现?
    1,将构造函数私有化
    2,在类中创建一个本类对象
    3,提供一个方法可以获取该对象

    class Single

    private Single(){
    private static Single s = new Single();

    public static Single getInstance(){

    return s;
    }
    }

    class SingleDemo

    public static void main(String[]args){

    Single ss = Single.getInstance();
    }

    既然走上了这条路,那么久不能背信弃义,就要一直走下去。即使前面是刀山火海也要闯一闯。至于结果是悲喜,或许只有时间才能给出答案。
  • 相关阅读:
    kali长时间未使用导致数字签名过期无法更新源解决办法
    4.爬虫去重策略
    3.编码问题
    kalinux 五笔安装
    ★★★kalinux 常用命令
    安装vm tools时出现如下问题 The path "/usr/bin/gcc" is not valid path to the
    kalinux实现自适用全屏、与物理主机共享文件方法
    wifi pj WiFiPhisher 安装使用
    条款20:在传递对象的时候尽量用reference-to-constent来代替,pass-by-value
    条款19:定义class就相当于定义一个个的内置类型
  • 原文地址:https://www.cnblogs.com/yckv/p/5158799.html
Copyright © 2011-2022 走看看