JAVA面向对象总结

 编程思想:
    面向过程:不便于复用,不利于后期维护
    面向对象:可重用性、可维护性和可扩展性强

     面向对象三大特征:
        封装,继承,多态 


    
    对象?(万物皆对象)
       特征(属性):
       操作(方法):完成功能的,一个方法只干一件事
    对象:用来描述客观事物的一个实体,由一组属性和方法构成
  
       类?(类是抽象的)
     类是对象的模板    
       
    类:具有相同属性和方法的一组对象的集合
        类是对象的抽象,对象是类的具体

     代码规范:
    类名:使用大骆驼命名法
    属性名:使用小骆驼命名法或 _ 隔开两个单词全小写
    方法名:使用小骆驼命名法

                 //通过类   创建对象
        //类名 对象名 = new 类名()
        Student stu1 = new Student();//引用数据类型
        //调用对象下的属性
        //对象名.属性名
        stu1.name = "李振海";
        stu1.age = 5;
        
        //调用对象下的行为(函数,方法)
        //对象名.方法名()
        stu1.show();


    方法语法:
    访问修饰符  返回值类型  方法名([参数]){
        方法体
        [return 返回值]
    }

     
    public  void  studentPrint(){
         方法体
        }
     
                调用方法:
       同一个类下: 方法名()
       不同类下: 对象名.方法名()

               public:公共的(在当前项目任何地方都可以调用)
               void:没有放回值

               关键字:
    this:当前对象


      参数传递:(形参个数与实参个数及位置相同)
    形参:方法定义时的参数
    实参:方法调用时传递的参数


      构造方法作用:初始化对象属性信息
           语法:    
               访问修饰符   构造方法名([参数]){
            方法体
        }
        注意:方法名必须和类名相同
      使用自定义构造方法时,无参构造方法将被覆盖
      this 调用当前对象下的属性和方法


     方法重载:
    1.方法名相同
    2.参数个数或类型不同
    3.与返回值、访问修饰符无关
    4.必须在同一类下


    包:(文件夹)
    package 声明当前文件位置
    import 导入包(需要到类,可以使用*代表所有的类)

     
    包的命名规范:  
    企业项目.企业名称.项目名.模块名称
    com||cn||net.hz.ch02. dao||vo||pojo||test01||test02


     封装:隐藏类的内部实现细节,对外提供一个可访问的接口(方法)

     属性封装:
    1.设置属性访问修饰符为private(私有的)
    

      修饰符
        final :  常量
        static:   静态
        变量===》静态变量
        方法===》静态方法    (调用成员变量时成员变量必须要使用static修饰)
        代码块==》静态代码块 (程序运行期间只执行一次)
            static {
        
            }

     

     继承:子类继承父类(使用extends关键字)
    子类继承父类后,子类便拥有父类的属性和方法
    注意:java单根继承(只有一个直接父类)
            
    
    子类调用父类的构造方法:  使用super()  
    注意:super()必须在第一行

    子类调用父类方法和属性: 使用super.属性||super.方法()

    子类重写父类的方法(覆盖)


    

      方法重载:
    1.必须在同一类下
    2.方法名相同
    3.参数个数或类型不同
    4.与返回值、访问修饰符无关
    
    方法重写(覆盖)
    1.在子类和父类之间
    2.方法名相同
    3.参数相同
    4.返回值类型必须相同 或 是其子类(子类的返回值,是父类返回值的子类)
    5.访问修饰符不能严于父类
    
    注意:
        子类的非静态方法不能覆盖父类的静态方法,
        子类的静态方法不能覆盖父类的非静态方法
        子类静态方法中无法使用super关键字

     高内聚,低耦合
     多聚合,少继承


     @Override(注解)  代表此方法是重写方法 可以不加
     Object :超类||基类||父类
    java中所有的类都之间或间接继承Object

     引用数据类型(对象比较):
    == :比较内存地址

     多态:事物的多种形态(同一种事物,由于条件不同,产生的结果不同)

      * 类型转换    
    父类转子类     大转小    向下转型   (强制类型转换)

    子类转父类     小转大    向上转型   (隐式类型转换)
        :只能调到共有的方法,子类特有的方法调用不到
 
     abstract抽象(修饰符)
    
    abstract抽象类:
            1.不能实例化
            2.可以没有抽象方法
    abstract抽象方法:
            1.没有方法体
            2.必须被实现
            3.必须在抽象类中

      接口特点:
    接口不可以被实例化
    实现类必须实现接口的所有方法
    实现类可以实现多个接口
    implements、多个接口使用逗号隔开 
    接口中的变量都是静态常量(public static fin)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值