Java学习第四天



                            面向对象
一.封装
a)概念:将属性私有化,提供公开的接口访问这些私有属性
b)实现:
  i.将属性私有化
  ii.提供公开的方法(2个,一个负责获取内容get,一个负责修改set内容)访问私有属性
c)注意以及好处
  i.提升了代码的安全性,提升了代码的隐私性
  ii.命名规范
二.继承(关键字:extends)
  a)概念:子类继承父类的一般特性及自身特有特性
  b)实现:
      i)书写父类,书写父类的属性和方法
     ii)书写子类,需要子类继承父类extends
           1.可以继承非私有的属性和方法
           2. 子类中可以书写它自己的属性和方法,这些属性和方法和父类没有任何关系
           3.如果子类对父类的某些方法的实现不是很满意,可以重写方法内容(实现)---方法的重写(Overrides)
c)注意:
    i)Java中是单继承,一个子类只能继承一个父类
   ii)Java中有一个类(object),他是所有类的直接或者间接父类,也把它叫做祖先类。
  iii)每一个子类被实现时(new),父类会再它之前被new。
*Java中调用时,若没有指定(包括super.)会直接调用父类的无参构造,若父类中无无参构造器,则会报错。
*当使用super.调用父类中的有参构造器时,需要放在子类构造器第一行,此时不再调用父类中的无参构造器。
*若只定义了一个变量(父类与子类所使用同一变量),两变量为同一个变量,同一个值。
三.多态
   a)概念:一个事物具有多种形态的特征,多态也是面向对象的核心思想,如果语言不支持多态,那么就不是面向对象语言,基于对象语言
   b)实现:
       i)方法的重写:子类重写父类方法的实现,他是一种垂直层次的关系。
      ii)方法的重载:在一个类中,多个方法具有相同的方法名,但是他们之间的形式参数不同(个数,类型,顺序),他是一个水平关系。
  c)注意:
      i)重写和重载的区别?
         答:重写是一个垂直关系,他是子类重写父类的方法,要求结构相同,实现不同;而重载是一个水平关系,他是类内部书写多个相同名称的方法,他们通过形参列表来区分。
    ii)在形参的声明过程中,一般会声明的范围比较大?
          答:声明的范围大,就可以传递父类也可以传递子类,这样代码的通用性比较强。
四.三个方法修饰
   a)static:
        i)概念:静态的,代表被修饰的内容会在类被加载时,内存加载它。
       ii)区域:
           1.属性:如果修饰属性,这个属性就依附于类存在,也就是说,当类被加载时,这个属性就被创建了。这个属性就叫做:静态(类)变量(类变量可以可以直接用类去调用)。
           2.方法:如果修饰方法,这个方法就依附于类存在,也就是说,当类被加载时,这个方法就被创建了。这个方法就叫做:静态(类)方法。
           3.块:在类中书写的一段程序体,他会在类被加载时,依次执行,并且只执行一次。(只要用到了当前类,该块就会被调用)
      iii)注意:
           1.静态的不能直接调用成员的。(静态的肯定比成员先加载,若需要使用,采用对象调用)
           2.成员的可以直接调用静态的。
           3. 块在执行时是有顺序的,只能执行在他之前定义的内容。没有手动调用这一说
           4.静态的可以直接调用静态的。
   b)final
   c)abstract:
五.四个访问修饰符:
 1.public:对任何人都是可用的
 2. protect:本类,包,子类可以访问,备注:继承类可以访问以及和private一样的权限
 3.default:本类和包可以访问,备注:包访问权限:即在整个包内均可以访问。
 4.private:本类可以访问,除类型创建者和类型的内部方法之外的任何人都不能访问的元素

猜你喜欢

转载自blog.csdn.net/ddcats/article/details/80867651