• 大龄屌丝自学笔记Java零基础到菜鸟016


    封装,private,构造函数,this,类的初始化过程,static,静态变量与成员变量的区别

    1、封装

    封装概述:隐藏对象的属性和实现细节,仅对外提供公共访问方式。

    封装好处:提高了代码的安全性、复用性。

    封装原则:将属性等不需要对外提供的内容都隐藏起来,提供公共方法对其访问。

    2、private

    private:访问修饰符,可以修饰成员变量和成员方法,只在本类才能访问。

    3、构造函数

    构造函数:对象的初始化方法。

    定义格式: public 对象名,如:public Fin(); , public Fin(int age);

    注意事项:如果没有自定义构造函数,系统默认提供无参构造函数。

         如果已有自定义构造函数,系统不再提供无参构造函数。

    4、this

    this:指当前类的对象引用,即谁调用这个方法,方法中的this就代表谁。

     1 class Student{
     2     private int age;
     3 
     4     public Student(){
     5     }
     6 
     7     public Student(int age){
     8         this.age=age;
     9     }
    10 
    11     public int getAge(){
    12         return age;
    13     }
    14 
    15     public void setAge(int age){
    16         this.age=age;
    17     }
    18 }
    19 
    20 //this.age即成员变量age,避免了成员变量被同名局部变量隐藏

    5、类的初始化过程

    (1)加载.class文件。

    (2)为对象变量在栈中开辟内存空间。

    (3)为对象在堆中开辟内存空间。

    (4)成员变量默认初始化。

    (5)成员变量显示初始化。

    (6)执行构造函数。

    (7)将对象地址赋值给对象变量。

    6、static

    static:静态修饰符。

    特点:优先于对象存在,随着类的加载而加载,被类的所有对象所共享,可以通过类名调用。

     1 class Liverpool{
     2     public Liverpool(){
     3         System.out.println("1");
     4     }
     5 
     6     static int n=ynwa();
     7 
     8     static int ynwa(){
     9         System.out.println("2");
    10         return 1892;
    11     }
    12 }
    13 
    14 class Fin{
    15     public static void main(String[] args){
    16         Liverpool liv=new Liverpool();
    17     }
    18 }
    19 
    20 //先输出2,后输出1

    注意事项:静态方法中不存在this,并且只能访问静态的方法和成员变量。

    7、静态变量与成员变量的区别

    所属不同:静态变量,类变量。

         成员变量,实例变量。

    内存位置不同:静态变量,静态区。

           成员变量,堆内存。

    内存时间不同:静态变量,随着类的加载而加载。

           成员变量,随着对象的创建而创建。

    调用方式不同:静态变量,通过类名调用。

           成员变量,通过对象调用。

  • 相关阅读:
    Java注解详解
    浅析@Deprecated
    BeanUtils使用概要
    使用内省方式操作JavaBean
    怎样通过ajax提交数据
    Java 反射学习笔记
    jackson 学习笔记
    Dom4j 学习笔记
    Tensorflow打造聊天机器人
    Hive官方文档
  • 原文地址:https://www.cnblogs.com/liverpool/p/4796728.html
Copyright © 2020-2023  润新知