java笔记:语法知识小结,关于类,限定符,内部类等知识

本文总结了Java中的语法知识,包括类的定义、内部类的三种类型(静态、成员、方法级别)及其作用,类的限定符如访问修饰符、static、final和abstract的用法。还探讨了对象的创建过程、实例化和生命周期,以及GC算法的基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、语法
    1、类(普通类/接口)
           代码的核心都在类上,用类去组织代码        
    class A{
        void method(){
         }    
     }   
   三个级别:顶级
                    成员级别
                    方法级别
     定义类:三个级别都是允许的,出现在成员级别的称为内部类
                  内部类分为三种:1、静态内部类,只能定义在成员级别,并且要用static修饰它,只代表一种所属关系,作用:组织代码
                                             2、内部类(Inner Class): 成员级别+不加static 
                                                                                          方法级别
                                             3、匿名类(匿名内部类)  (类的定义+对象一起的)了解: 成员级别
                                                                                                                                      方法级别
    类的限定符:访问限定符:public  protected   default   private  
                          static
                          final
                          abstract
              static(成员级别) 5个作用:修饰类,方法,变量,属性,静态代码块,静态导入(了解)  (和外部类对象解绑,存在类上)
              final3个作用:修饰类,方法,变量  (final修饰方法,表示方法不能被覆写)
              abstract 2个作用:修饰类,方法
     抽象类和普通类的区别:抽象类无法被实例化,无法定义抽象类的对象。
     类的加载:把类文件从硬盘加载到内存中
     类文件:就是class文件
     静态方法和调用栈有关系,方法的运行阶段有区别,表现在调用栈上
     普通方法和静态方法的区别:this指向当前对象的引用,this还可以调用构造方法,静态方法中不能使用this,静态方法中无法直接调用普通方法,不能直接访问普通属性
     public:公开
     protected:包和其他包下的子类
     defaut:包内
     private:本类,本类内部类(当作本类成员)    
  
      对象的而创建(对象的实例化)
       1、new
       2、反射  
      什么是对象的实例化:1、从方法区中找到该类的信息,如果没找到?触发类的加载  (类的加载器)ClassLoader
                                        2、对象最终放在堆上
                                        3、计算对象的大小(属性(包括父类))
                                        4、开辟的空间初始化0x0(属性的默认值都是0)  
                                        5、属性的初始化  :
                                                        1、定义时的初始化     int a=0;
                                                        2、构造代码块          {a=10;}
                                                        3、构造方法             A(){a=10;}            
                                                  (1、2优先执行,1、2的顺序按写的顺序执行,然后再执行3)
     对象的生命周期:
            1、开辟空间+设置0x0     (1、2是对象正在诞生)
            2、属性初始化阶段
            3、真正生命开始
            4、标记为死去(尸体还在)  GC回收
    GC算法:
       1、怎么判断对象是否死去
       2、怎么快速高效的回收尸体

    编译期间        +           编写期间        +         运行期间
    IDEA                            javac                          java(JVM)你的程序
    程序员                         程序员                        用户
    *.java                            *.class                        真实的效果了

(类的属性是static的,对象的属性是普通的)
    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值