黑马笔记_面向对象知识

本文深入讲解Java基础知识,包括类文件命名规范、面向对象特性、成员与局部变量的区别、封装原则及实现、构造函数与构造代码块的作用、this关键字的用法、静态关键字的特点及其应用场景、静态代码块的功能等。
1.java类的文件名称一定要和主函数的名字相同,否则就会出现找不到主函数的错误
2.面向对象:
    三个特征:封装,继承,多态
    说白了就是:对象封装好多功能
3.类就是:对现实生活的描述
对象:就是这类事物,实实在在的个体
4.成员变量和局部变量:
    成员变量作用于整个类中。
    局部变量作用于函数中,或者语句中。
    在内存中的位置:
        成员变量:在堆内存中,因为对象的存在,踩在内存中存在。
        局部变量:存在站内存中
5.匿名对象使用方式一:当对对象的方法只调用一次时,可以使用匿名对象来完成,这样写比较简化
  匿名对象使用方式二:可以将匿名对象作为实际参数进行传递
6.封装:是指隐藏对象的属性和实现细节,仅对外部提供公共的访问方式,
好处:
    将变量隔离
    便于使用
    提高重用性
    提高安全性
封装原则:
    把不许要对外提供的内容都隐藏起来
    把属性隐藏,提供公共方法对其访问
--函数是最小的封装体
7.private:私有,权限修饰符,用于修饰类中的成员(成员变量,成员函数)。
  私有只在本类中有效。
 私有:仅仅是封装的一种表现形式。是最小权限
  之所以对外提供访问方式,就应为可以在访问方式中加入逻辑判断等语句。
  对访问的数据进行操作,提高代码健壮性
8.构造函数:
    函数名与类名相同(
        只要对象一建立,就会调用与之对应的构造函数
        作用:可以用于给对象进行初始化
        补充:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数
        当在类中自定义了构造函数之后,默认的构造函数就没有了
        构造函数好一般函数在写法上有不同
        在运行上也有不同
            构造函数在对象一建立就运行。给对象初始化。
            而一般函数可以被该对象调用多次。
        构造代码块:
            作用:给对象进行初始化
            和构造函数的区别:
                对象一建立就运行,而且优先宇构造函数执行。
                而构造函数是给对应的对象初始化,构造代码块是给所有的对象进行初始化
            构造代码块当中定义的是不同对象共性的初始化内容
9.this关键字
    就是本类对象的引用
    简单说:那个对象在调用this所在的函数,挺好isjiu代表那个对象
    this什么时候应用:当定义类中功能是,该函数内部要用到调用该函数对象时,这时用this来表示这个对象(例子:就是person类中new的两个对象比较年龄是否相同)
    构造函数间调用this关键字:this()
    this语句只能帝国那一在构造函数的第一行。因为初始化要先执行
10.静态关键字:static
    用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
    --静态修饰的成员,是被对象多共享(例子:就是person中的static country)
    当成员被静态修饰符后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用。即:类名.静态成员
    static特点:
        随着类的加载而加载
        优先于对象存在
        可以直接被类名所调用
    实例变量和类变量的区别:
        存放位置:
            类变量随着类的加载而存在于方法区中
            实例变量随着对象的建立而存在于堆内存中
        生命周期:
            类变量生命周期最长,随着类的消失而消失
            实例变量生命周期随着对象的消失而消失
    静态使用注意事项:
        静态方法中只能访问静态成员
        非静态方法既可以访问静态也可以访问非静态
        静态方法中可以定义this,super关键字
        (因为静态优先宇对象而存在,所以静态方法中不可以出现this)
    main函数是静态的(public static void main(String[] args))
        public:代表着该函数的访问权限最大;
        static:代表主函数随着累得加载就已经存在了
        void:主函数没有具体的返回值
        main:不是关键字,但是十一个特殊的单词,可以被jvm识别
    static的应用:
        假如有一个工具类,没有必要让其建立对象,所以我们需要强制限制不能奖励对象:做法是将构造函数私有化
11.静态代码块
    格式:
        static{
            静态代码块中的执行语句
        }
    特点:随着类的加载而执行,只执行一次,优先于主函数而执行
        
        )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值