JAVA面向对象

一、类与对象的概念


            1.什么是类:

            凡是被class修饰的都是类、  例如 public  class 类名{ }  或者  class 类名{ }
            概念:一个java文件中,可以存在多个类,但是只能且必须只有一个被public修饰的公共                类,且类名和文件名同名。
           
            例如:Demo1.java文件中就存在了3个类、如代码所示
            一个公共类 1个A类  1个B类
            
            
            2.什么是对象:
            类是不能被单独使用的。必须要将其实例化,才可以访问该类的方法或属性。
            实例化的语法:
            类名  变量名 = new 类名();
            变量名.方法名();
            变量名.属性名;
            
            3.类的分类:
            一般来说:类都是放在包下。
            不同的包拥有不同的功能,。方便分类进行管理。
            目前而言:我们暂时只需要知道这三个包。
            1.测试包(test):放测试类 (拥有main方法的类)
            2.工具包(util):放工具类,经常被复用的方法。
            3.实体包(entity):放实体类,真实存在的一个物体,例如学生,商品,用户,老师 等等

二、Java的变量分为两大类

            java的变量分为两大类:
            1.成员变量:定义在方法体之外的。有效范围:该类都有效。  
            有默认值(如果不给它赋值,有一个默认值)都和0对齐
            byte short  int  long  float  double 默认值都是0
            boolean 默认值为false
            char 默认值为 空格
            引用类型:null
                        
            
            2.局部变量:定义在方法体之内的。有效范围:该方法下有效。 没默认值。
        
        
            注意:变量必须要赋值才能使用。

三、Java的数据分为两大类:基本数据类型和引用数据类型

            其中基本数据类型分为8大类:
            按照所占字节的:
            1字节    boolean    byte
            2字节    char       short
            4字节    int        float
            8字节    long       double
            
            引用数据类型:
            除了8大类剩下的都是引用。
            例如String  Scanner   System   Arryas  Class

四、形参和实参的区别

            形参:声明方法的参数列表,例如下面的a1和a2
            实参:调用方法的参数列表,例如下面的10和20
            
            method(10,20);
            
            public void method(int a1,int a2){
            
            }
            
            
            如果形参是基本数据类型和引用数据类型的区别。
            看本类的例子:
            总结:
            如果形参是基本数据类型,那么方法内部的改变不会影响其本身。
            如果形参是引用数据类型,那么方法内部的改变会影响其本身。

五、为什么要对类进行封装

            1.为什么要对类进行封装:
            原因:将类的相关属性进行隐藏,不对外开放。避免一些安全性问题。
            
            2.封装最常见的例子:就是针对实体类。
            
            3.需要掌握如何正确编写实体类。

六、面向对象的三大特征:封装、继承、多态

        集成概念如下:
        如果不同的类之间拥有相同的属性或方法,
        那么可以将这些方法或属性单独抽取出来组成一个父类,
        让别的类去继承它,别的类就可以少写很多方法和属性。
        这就是面向对象三大特征之一的继承。

        Java中的继承和现实生活的继承非常类似。
        子承父业。  父不能承子业。
        子类拥有父类的方法属性,但是父类没有子类的方法或属性。
        
        创建一个Student类,拥有studentNum,name,age,sex 4个属性。
        还拥有:可以打印“我可以说话”的方法,可以打印“我可以吃饭”的方法,
        可以打印“我可以上课”的方法
        
        创建一个Teacher类,拥有teacherNum,name,age,sex 4个属性。
        还拥有:可以打印“我可以说话”的方法,可以打印“我可以吃饭”的方法,
        可以打印“我可以教书”的方法
        
        分析:上述写法有何不妥。
        总结:老师类和学生类中 含有相同的属性或方法。
        我们推荐将其放在另外一个Person类中
        然后让Teacher类和Student继承Person类即可


        怎么继承一个类:
        语法如下:
        class  A  extends  B{
        
        }
        我们称A为子类,B为父类。
        
        额外补充:
        Java是单继承的语言。每个类最多只能显式继承一个类。
        但是每个类可以被多个类同时继承。
        
        每个类都隐式继承Object类,Object是任何类的父类。


        
        子父类中成员变量的特点:
        假如存在特殊情况:
        子类和父类都拥有相同的成员变量属性、
        通过实例化  调用子类的属性 到底是用的子类的还是父类的。
        答案:实例化的谁,就用的谁。
        
        假如说想在子类的内部方法共有属性,应该怎么写?
        如果直接通过属性名,就默认表示子类。
        也可以通过this.属性名 来表示子类
        如果想使用父类的共有属性 加上super关键字即可 例如super.money
    
    
        
    
        子父类中成员方法的特点:
        子承父类:如果子类没有才继承父类的相关属性或方法。
        
        特殊情况:如果子父类拥有公共的方法,到底调用的谁的?
        答案:和成员变量一致。

        子父类中构造方法的特点:
        1.利用开发工具自动生成的构造方法,内部的第一行都有一行super();注意:只能放在第一              行
        2.super();表示父类的无参构造方法
        3.super();如果每写就默认存在,如果写了就只会以写了的为主。

            

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值