Day11 this static 封装

1.this
    1.1 this 是什么?
            this 是一个关键字。 //某种意义上 this 等同于 my 我的,来表示自己的。
                是每个对象中,保存自身内存地址的一个引用类型变量。
                // 谁调用,this就是谁。
    1.2 this 能做什么?
            1. this 可以指明所调用变量的归属,谁调用的就是谁的变量调用。用 this 来区分。
                语法: this. xxx = xxx;
            2.用在某个构造方法中,用于重载调用当前类中其他的构造方法,提高代码复用性。
                语法: this(1971,1,1);//必须用于有效代码的第一行
            3.return this; 返回当前对象的内存地址,可以做到链式调用。
                核心:前者的返回值,一定是可以调用后者的引用。
                    返回调用者的引用地址。
    1.3 this 怎么用?
            1.区分成员和局部变量。
                2.重载调用构造方法
                    3.链式调用
    1.4 this 使用注意事项
            1. 重载调用构造方法语句,必须放在有效代码的第一行。// this(1754,2,15); 去调用有参构造方法。
                2.this 无法在静态方法中使用。
2.static
    2.1 static 是什么?
        static    是一个修饰符,主要用来区分静态和动态属性。
    2.2 static 能做什么?
            1.static 修饰的类体中的变量是静态变量。
                static int i = 10;
            2.static 修饰的方法是静态方法
                public static void main(String[] args)
            3.static 还可以定义静态语句块
                static{
                    System.out.println("静态语句块");
                }
    2.3 static 怎么用?
            1.static 修饰的类体中的变量是静态变量。
                static int i = 10;
            2.static 修饰的方法是静态方法
                public static void main(String[] args)
            3.static 还可以定义静态语句块
                static{}//静态语句块等同于静态方法,只不过该方法没有名字,没有权限控制,没有修饰符列表,没有返回值,也不能重复使用。
    2.4 static 注意事项
            static 静态的变量和方法在类加载的时候就执行了,并且只执行一次。+
    2.5 实例语句块    //等同看作成员方法
        语法:{ }
        创建一次对象,就执行一次。
3.封装
    1.1 什么是封装?
        封装是把对象的所有组成部分组合在一起,封装使用访问控制修饰符将类的数据隐藏起来,控制用户对数据的访问和修改权限。
            适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。
    1.2软件包机制
        1.1 为了解决命名冲突问题,在类名前加上命名空间。
        1.2 package 语句只能出现在java源文件的第一行,也可以没有。
        1.3 package 一般采用公司域名倒叙的方式。
            com.tledu.oa.system
                公司域名倒叙.项目名.模块名
        1.4 带有 package 语句的java文件的编译
            javac -d(磁盘地址)./(当前目录)-encoding 字符编码 java文件
                javac -d./ -encoding UTF-8 Test.java
        1.5 带有 package 语句的java文件的运行
                java 包名.类名
                    java com.tledu.zrz.Test
        1.package
            是设置编译之后的 class 文件的保存位置,和源文件位置无关。
                如果源文件中,没有出现 package 语句,则 class 文件和源文件在同目录。
            
            //被调用的类和当前类如果在同一个目录下可以直接使用。
                否则就要写包名.类名。  //或者直接导包
            package _05_Package;
            import _05_Package.com.tledu.user; //1.引入当前类中需要的其他类,否则就需要写类全名,引入之后,可以直接写类名调用即可。
            public class Package_01                //2.必须出现在 package 语句之下,class 语句之上。
            {                                    //3.java.lang.* 下面的类 是核心类,使用不需要导包。
                public static void main(String[] args){
                    User user = new user();
                }
            }
    1.3权限控制
        权限控制修饰符
            限制某个数据,可以被谁使用。
                public private protected
                public:公共的
                    private:私有的,只有当前类可以访问
                        protected:受保护的,继承权限,
                            //1.在有继承关系的体系中,通过子类调用。2.同包,就算没有继承关系,也可以访问。
                默认:当不使用以上三种修饰符进行修饰的时候,则是默认权限,只能让当前包的类使用。
               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值