重温Java基础(三)

目录

1.编程语言

2.编程习惯

3.方法重载

4.访问权限

5.继承

6.重写

7.上转型对象

8.匿名类

9.内部类


1.编程语言

面向机器语言属于低级语言,面向过程和面向对象语言为高级语言。

面向对象语言的三个特性:封装,继承,多态。

2.编程习惯

类的命名:首字母大写,每个单词的首字母应大写。

方法的命名:首字母小写,从第二个单词开始的其他单词首字母大写。

变量的命名:首字母小写,从第二个单词开始的其他单词首字母大写。

3.方法重载

对象的行为通过类中的方法来体现,那么行为的多态性就是方法的重载。

重载满足条件:

(1)参数 的个数不同。

(2)参数个数相同,但是参数列表中对应的某个参数的类型不同。

方法的返回类型和参数名字不参与比较。也就是说,如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。

4.访问权限

访问权限是分四种的,不知道有没有人跟我一样,潜意识中只有三种,忽略了一个友好访问权限。不知道哪来的意识,省略public也就是没有写任何的访问权限修饰符是,默认是public。不知道这种认知是哪里来的,是C++还是C#?反正在Java中就不是这样的。没有写任何访问权限修饰符默认就是友好的访问权限。

类的访问权限只有两种,一种是public一种是友好类。public是需要用public修饰的,如果没有用public修饰则默认是友好类。
不能用private和protected 修饰类

友好:

不用public,private,protected修饰符修饰的成员变量和方法被称为友好变量和友好方法
当一个类中用另一个类创建了一个对象后,如果两个类在同一个包中,那么可以访问另一个类的友好成员变量和友好方法

保护:

当一个类中用另一个类创建了一个对象后,如果两个类在同一个包中,那么可以访问另一个类的protected成员变量和protected方法(在这里看友好跟保护似乎没有区别,在继承的时候就能看到区别了。)

5.继承

子类和父类在同一包中的继承性:

同一个包中,子类继承了父类除了private外的成员变量和方法。

子类和父类不在同一包中的继承性

不在同一个包中,父类中的private和友好成员变量和方法不会被子类继承(多了一个友好不会被继承)

6.重写

子类隐藏继承的成员变量的特点:

  • 子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重写声明的这个成员变量。
  • 子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类隐藏或继承的成员变量

子类通过重写可以隐藏已继承的方法,方法重写称为方法覆盖
注意事项:

  • 重写方法的类型可以是父类方法类型的子类型
  • 重写方法时,不允许降低方法的访问权限,但可以提高访问权限

7.上转型对象

(1)上转型对象不能操作子类新增的成员变量和调用子类新增的方法。
(2)上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法。上转型对象操作子             类继承的方法或子类重写的实例方法,其作用等价于子类对象去调用这些方法。上转型对象一定是调用子类重写的实例方             法(注意这里讲的都是实例方法)
  注意事项:
(1)不要将父类创建的对象和子类对象的上转型对象混淆
(2)可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类所有的属性和功能。
(3)不可以将父类创建的对象的引用赋值给子类声明的对象
(4)如果子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。

8.匿名类

(1)和某类有关的匿名类就是该类的一个子类,该子类没有明显地用类声明来定义,所以称作匿名类。

(2)和某接口有关的匿名类就是实现该接口的一个类,该子类没有明显地用类声明来定义,所以称作匿名类。

9.内部类

  在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类
  关系:
(1)外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。
(2)内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员
(3)内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。
  Java编译器生成的内部类的字节码文件的名字和通常的类不同。内部类对应的字节码文件的格式是“外嵌类名&内部类名”。
  内部类可以被修饰为static内部类,这样可以在其他类中使用static内部类创建对象。
  非内部类不可以是static类

猜你喜欢

转载自blog.csdn.net/Doctor_LY/article/details/81668485
今日推荐