欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java第三周学习笔记:

程序员文章站 2022-07-16 14:27:20
...

1.static关键字:

1)概念:

共享,共用(可以被多个对象共用).

2)特点:

1)被静态修饰的方法/变量,都是随类的加载而加载.
2)共享,共用(可以被多个对象共用).
3)优先于对象存在,不能与this关键字共存,this是需要等待对象创建完毕,而静态修饰的,优先进入static内存区.
4)静态修饰的方法/变量,推荐使用类名访问.
        如果是静态修饰的成员变量.
               类名.变量名;
        如果是静态修饰的成员方法.
               类名.方法名();

3)使用过程中的注意事项:

1)非静态的成员方法,可以访问静态的成员变量或非静态的成员变量.
2)静态的成员方法:
                 只访问静态的成员变量或静态的成员变量.

4)目的:

为了解决代码的冗余并且最大的需要解决的就是:内存销毁.
//定义一个人类
class Person{
    String name ; //姓名
    int age ; //年龄
    //静态修饰
    static String country ;//静态的成员变量
    //无参构造方法
    public Person(){}
    //带三个参的有参构造方法
    public Person(String name,int age,String country){
        this.name = name ;
        this.age = age ;
        this.country = country ;
    }
    //提供带两个参的有参构造方法:name,age
    public Person(String name,int age){
        this.name = name ;
        this.age = age ;
    }
    //提供show方法,来展示人的信息...
    public void show(){
        System.out.println("该人的姓名是"+name+",年龄是:"+age+",所在的国籍是:"+country);
    }
}
//测试类
public class StaticDemo {
    public static void main(String[] args) {
        //古代四大美女
        // 有参构造方法赋值(3个参数的)
        Person p1 = new Person("王昭君",25,"中国") ;
        p1.show() ;
        System.out.println("-----------------------------------------");
        //Person p2 = new Person("西施",18,"中国") ;
        //改进后:创建一个Person对象,带两个参数的
        Person p2 = new Person("西施",18) ;
        p2.show();
        System.out.println("-----------------------------------------");
       // Person p3 = new Person("貂蝉",20,"中国") ;
        //改进后
        Person p3 = new Person("貂蝉",20) ;
        p3.show();
        System.out.println("-----------------------------------------");
       // Person p4 = new Person("杨玉环",30,"中国") ;
        //改进之后
        Person p4 = new Person("杨玉环",30) ;
        p4.show();
        System.out.println("------------------------------------------------------------------");
        Person p5 = new Person("高圆圆",42,"美国") ;
        p5.show();
        p1.show();
        p2.show();
        p3.show();
        p4.show();
    }
}

2.什么时候将一个变量定义为成员变量?

这个变量能够描述这个类的属性(现实真实的事物属性)----->将变量------>成员变量(类中方法外).

3.代码块的含义:

 使用{}包裹起来的称为"代码块"
        *
*      分类:
*      局部代码块:{},在局部位置(方法定义中定义)
*      作用:限定局部变量的生命周期
*      构造代码块:
*      {} :在构造方法之前(类的成员位置)
*      特点:在执行构造方法之前,如果存在构造代码块,优先执行构造代码块,然后才是构造方法!
*      作用:将构造方法中初始化的过程,可以在构造代码块中使用(一般开发中很少,一些笔试题出现,考点:考的就是构造代码块和构造方法之前)
*      静态代码块----->应用场景:jdbc中就会使用到...
*      特点:随着类的加载而加载,优先于对象存在
*      static{
        *
*      }
        *
        *
*      静态代码块只执行一次,因为类就加载一次! (考点)
        *
        *
*      优先级: (考点)
        *
*      静态代码块 >  构造代码块  > 构造方法
相关标签: java

上一篇: ECMAScript 2016

下一篇: 项目action封装