抽象和封装

mac2022-07-05  17

很久没做笔记了,没有以前的刚开始学习软件时候的热情了。包括几年前U盘损坏,数据丢失,通过数据恢复,也只是找回一些零星的碎片。

现在就抽时间把以前的技术笔记找回来,这十条记录在电脑上显示的最后修改日期为:2011年08月20日10:06分

 

一、面向过程和面向对象

二、抽象 只关注与系统相关的行为和特征

三、封装 比如你不需要知道电视机是怎么播放画面的,只需要知道怎么用。 1、隐藏实现的细节 2、权限控制 3、数据保护

实现: 1、属性私有 2、提供公有setXXX/getXXX

四、构造方法 名字与类名相同,没有返回类型的方法,称为类的构造方法。 创建一个类的实例(对象)时(new),一定调用对应构造方法。

构造方法用于初始化。

1、如果一个类没有显式的定义构造方法,编译器会为类提供 一个默认的构造方法。此构造方法是public 无参的。

2、一旦为类显式的提供了构造方法,编译器将不再为类提供 默认的构造方法。

3、在不是必须的前提下,如果为类提供了有参的构造方法, 应该同时再重载一个无参的构造方法。

五、重载 在一个类中,方法名相同,参数不同,我们就说这些方法重载。

1、重载只与方法名和参数相关。与别的(访问修饰符、返回类型)无关 2、参数不同: a、个数不同 b、类型不同 c、顺序不同

六、静态方法 static 方法的类型 1、成员方法(属于对象的方法) 2、构造方法 3、静态方法(属于类本身的方法)

静态成员(属性和方法) 1、只加载一次。对象还未构造,静态成员已经存在了 2、所有的对象共享

有二种访问方式: 1、通过对象来访问 2、通过类名.静态成员来访问

静态方法是否可以重载? 答:可以重载 静态方法是否可以使用private来修饰? 答:可以使用。但是没有意义。

七、静态代码块 //静态代码块 static{ //代码写在这里 } 在加载这个类的时候就会运行。只运行一次

八、静态方法和this 静态方法中不可以使用this。

九、访问静态成员的限制 1、静态方法只能访问静态成员,不能访问非静态成员 2、非静态方法可以访问静态成员

十、访问修饰符 private 只能在类内部访问 默认的(default) 同一个包中可以访问 protected 同一个包及不同包的子类 public 任何地方都可以访问

 

 

简单展示一段面相对象的代码:

1 package com.funtion.javaoop; 2 3 public class Person { 4 5 // 成员变量,属性 6 protected int age = 18; 7 static String country = "china"; 8 9 // 静态代码块 10 static { 11 // 代码写在这里 12 System.out.println("静态代码块"); 13 } 14 15 // 构造方法 16 public Person() { 17 } 18 19 // 构造方法 20 public Person(int age) { 21 this.age = age; // 初始化 22 } 23 24 // 此方法不是构造方法,是一个成员方法 25 public void Person(int age) { 26 this.age = age; 27 } 28 29 // 实例方法 30 public void a() { 31 32 } 33 34 // 实例方法 35 protected void abcd() { 36 37 } 38 39 // 静态方法 40 public static void b() { 41 System.out.println("静态方法"); 42 } 43 44 private static void b(int age) { 45 // this.age = age; 46 System.out.println("静态方法"); 47 } 48 49 public static void main(String[] args) { 50 Person p1 = new Person(22); 51 Person p2 = new Person(25); 52 53 System.out.println(p1.country); 54 p1.country = "lajdfa"; 55 System.out.println(p2.country); 56 Person.b(22); 57 } 58 }

 

转载于:https://www.cnblogs.com/funtion/p/6151987.html

相关资源:javaoop考试题
最新回复(0)