2021-04-21

笔记

代码执行顺序

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 8:24
 */
public class Demo03 {
    int size = 0 ;
    //代码块
    //
    {
        size = 10 ;
    }
    //静态变量
    static  int count = 30 ;
    //静态代码块
    static {
        count = 10 ;
    }
    public Demo03(){
        System.out.println("构造方法");
        System.out.println(count);  //10
        System.out.println(size);   //10
    }
}

1、静态static修饰的内容在整个类中最先执行

1.1static同时修饰变量和代码块,谁写在前面先执行

2、代码块和类属性其次执行

2.1普通属性和代码块,谁写在前面谁先执行

3、构造方法的执行

static

1、static修饰的内容 没有对象也可以存在,或者说:有没有对象在内存中都可以存在

2、普通的属性,方法,内部类,要求有对象才可以存在具体的内存中

12两条原则在语法上不能冲突 具体表现在:静态的成员不能使用非静态的成员

final 最终的

被final修饰的成员值在程序中不能发生改变

log4j = log for java

封装

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:12
 */
public class Demo01 {
    public static  int add (int a, int b){
        return  a+b ;
    }
    public static void main(String[] args) {
        System.out.println(1+1);
        System.out.println(1+2);
        System.out.println(1+4);
        System.out.println(1+5);
        System.out.println(1+6);

        System.out.println(add(1,1));
        System.out.println(add(1,2));
        System.out.println(add(1,3));
    }
}

上述案例:为了避免不断的+操作,吧两数相加写入在add方法中,后续直接调用add方法。把具体操作流程统一管理在add方法中,该过程就是封装的一种具体表现形式

访问权限修饰符

修饰符 同一个类 同一个包 子类 所有的类
pubic 公有的
protrcted 受保护的
defaule 默认的
provate 私有的

类的封装

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:12
 */
public class Demo02 {
    //public
    //protected
    //private
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return  this.name ;
    }

}

属性的访问权限尽量给的很小

对外单独提供访问方法

setName给属性赋值

getName读取属性的值

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:12
 */
public class Demo01 {
    public static  int add (int a, int b){
        return  a+b ;
    }
    public static void main(String[] args) {
        System.out.println(1+1);
        System.out.println(1+2);
        System.out.println(1+4);
        System.out.println(1+5);
        System.out.println(1+6);

        System.out.println(add(1,1));
        System.out.println(add(1,2));
        System.out.println(add(1,3));
    }
}

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:12
 */
public class Demo02 {
    //public
    //protected
    //private
    //把数学私有化
    private String name;
    private int age;
    //对外提供属性的设置方法
    public void setName(String name) {
        this.name = name;
    }
    //对外提供属性的访问方法
    public String getName() {
        return  this.name ;
    }

}

Doemo02测试

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:39
 */
public class teseDemo02 {
    public static void main(String[] args) {
        Demo02 demo02 = new Demo02() ;
        demo02.setName("小明");
        System.out.println(demo02.getName());
    }
}

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:39
 */
public class Demo03 {
    public String name ;
    public int age ;
}

Demo03测试

/**
 * @qvthor liuwenzheng
 * @date 2021/4/21 10:39
 */
public class testDemo03 {
    public static void main(String[] args) {
        Demo03 demo03 =new Demo03() ;
        demo03.name = "小明";
        System.out.println(demo03.name);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 封装 ~上述案例:为了避免不断的+操作,把两数相加写入在add方法中,后续直接调用add方法。把具体的操作流程统一...
    陈龙阅读 773评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • Java OOP 什么是面向对象思想? 把一组数据和处理他们的方法组成对象(object),把相同行为的对象归纳为...
    chonglingliu阅读 4,143评论 0 1
  • 1 、一个".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个 pub...
    尽人事听天命_6c6b阅读 1,072评论 0 0
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 13,585评论 0 11