很久没做笔记了,没有以前的刚开始学习软件时候的热情了。包括几年前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 任何地方都可以访问
简单展示一段面相对象的代码:
package com.funtion.javaoop; public class Person { // 成员变量,属性
protected int age = 18;
static String country = "china"; // 静态代码块
static {
// 代码写在这里
System.out.println("静态代码块");
} // 构造方法
public Person() {
} // 构造方法
public Person(int age) {
this.age = age; // 初始化
} // 此方法不是构造方法,是一个成员方法
public void Person(int age) {
this.age = age;
} // 实例方法
public void a() { } // 实例方法
protected void abcd() { } // 静态方法
public static void b() {
System.out.println("静态方法");
} private static void b(int age) {
// this.age = age;
System.out.println("静态方法");
} public static void main(String[] args) {
Person p1 = new Person(22);
Person p2 = new Person(25); System.out.println(p1.country);
p1.country = "lajdfa";
System.out.println(p2.country);
Person.b(22);
}
}