面向对象编程个人笔记

                                    面向对象编程
----将某一类事物抽象化,确定如何操作数据然后再考虑如何操作数据。然后再考虑下如何组织数据。
    属性:用来描述对象的数据元素称为对象的属性。
    方法:对 对象的属性进行的操作称为对象的方法。

1、类
    类是描述对象特征和对象行为,类是对象的模板。
        修饰符  类型  类名称 {    }   
            例如: public class  DayTest
            {
            }
2、构造器:
    (构造方法)  名称必须和类名一致。(一个类中可以有多个构造器,但是构造器参数列表必须不同,
                                         系统也会提供默认的构造方法)
                                    例如:Moblile phone=new Moblile("",120);//  参数一致性;
3、方法的重载
    一个类中可以定义有相同的名字,但是参数列表不同  1、参数类型  2、参数格式   3、参数顺序
    例如:
        public class DayTest{
            public DayTest(){

            }
            public DayTest(int i){

            }
            public DayTest(int i,int j){

            }
            public DayTest(double i){

            }
        }
4、方法的参数传递
    1、基本数据类型传递的是该数据的值本身。
    2、引用数据类型传递的是对象的引用而非对象本身。
    3、如果在调用方法中,出现  new  是开辟了新空间。
    (参数传递 3条)
    例如:cao_3-23   包:cao.demo1

5、封装--private
    --在一个类中封装属性,使用private 修饰符,这个修饰符可以,使用 get  set 方法对属性进行封装。
    例如:cao_3-23  包:cao_demo0
6、static  关键字
    用static 声明的成员变量是静态成员变量,它是该类的公用变量,被使用时,进行初始化,
    对于该类的所有对象,static成员变量只有一份。

    1.static修饰的方法内部,只能使用static修饰的成员变量(方法和属性)
    2.非static修饰的方法内部,可以使用static修饰的成员变量
    3.在static方法内,不能直接使用非static方法
    4.在static方法内,可以使用static方法
    5.static是修饰符,不能声明构造器  ¥¥
        static StaticMethod(){//错误的
    6.static的调用:
           ①在本类中,可以使用方法名调用,见cMethod()
           ②在其他类中,可以使用  类名.方法名() 的方式调用static方法,无须创建对象调用

7、导入包;例如:import java.util.*;

//
面向对象– 继承 封装 多态

1、继承 特点;
-面向对象的重要特征
-可以实现代码的复用
-子类可继承父类的方法和属性
-类的构造器(构造方法)不能被继承。
(继承 4条)
例如:cao_3-24 包:cao.demo0;
几个重要 修饰符的 解释:

1、private修饰符:
(1)只能在本类中使用,在其他类中使用是 通过 get set方法。
2、protected修饰符
(2)可以再本类中使用,也可以在本包中使用
(3)在继承时,子类无论在哪个包中,都都可以使用。
(4)如果不是 继承,在其他类中即使导入包也不能 使用。
3、public修饰符
一句话:通用;
4、default修饰符:
表示一种不加任何修饰符的状态。

2、方法的重写:
方法重写的原则:
1、重写方法必须和父类中的被重写的方法具有相同的
(1)方法名称、(2)输入参数和(3)返回值类型。
2、不能使用比父类中更严格的 访问权限。
就是:父类是protected 那么子类不能是 private
3、重写方法不能比父类重写方法抛出 更多异常。(指范围)
例子:cao_3_24 包 cao.demo1

3、super关键字
用法:
1、访问父类的成员变量
super.变量
2、访问父类中的方法
super.方法(参数列表)
3、访问父类的构造器
super(参数列表)

        4、super 具体使用:
        1、位置: 一定要写在子类构造器中.
        2、调用:如果调用父类无参构造器,可以省略,即系统默认;
(super 4 条)
    例如:
        class SuperClass{
         int x;
         SuperClass(){
          x=3;
          System.out.println("in SuperClass x="+x);
         }
         void doSomething(){
            System.out.println("in SuperClass.doSomething()");
         }
        }
    class SubClass extends SuperClass{
        int x;
        SubClass(){
            super();
            x=5;//  要放在方法中的第一句
            System.out.println("in SubClass :x:"+x);

        }
        void doSomething(){
            super.dosomething();//
            System.out.println("in SubClass .doSomthing()");
            System.out.println("super .x="+super.x+"sub.x"+x);
        }
        public static void main(String args[]){
            SubClass subC=new SubClass();
            subC.doSomething();
        }
    }

4、this关键字:
-1、在类本身的方法或构造器中引用该类的实例变量和方法。
-2、将当前对象作为参数传递给其它方法或构造器。
-3、用来调用其他的重载的构造器(必须写在第一行)

  • this总结
  • 1.作为本类对象,调用属性和方法
  • 2.作为本类构造器使用,使用时必须用于构造器内且在第一行,还可以重载构造器
  • 3.作为参数进行传递,与super不同,super不能作参数传递
  • 4.this() 作为构造器不能用于普通方法。
    (this 4条)

    5、初始化块:
    最大的特点:就是 可以优先被执行;

this 和 super 比较:
this super
访问属性: 先在子类中查找,后在父类中 直接在父类

访问方法: 现在子类中找,没有再在父类中找 直接访问父类方法

调用构造: 调用本类中的其他构造方法 调用父类的构造方法
特殊: 指自身的引用 –

This 和 super 都不能在static 方法中调用。

super 只与父有关,,,this 是先子后父;

      重载 和 重写的区别

范围:重写是 继承(子类) 重载是同一个类
对方法的要求: 重写和父类一致(名字和参数和返回值) 重载 (方法名一致,参数列表不同)
对访问权限的要求 重写不能比父类访问权限更严格, 重载 对访问权限有要求。
、、、、、、、、、、、、、、、、、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值