• 抽象和封装_JAVA_OOP


    很久没做笔记了,没有以前的刚开始学习软件时候的热情了。包括几年前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 }
  • 相关阅读:
    SDN作业(4)
    SDN作业(3)
    第一次个人编程作业
    SDN作业(2)
    SDN作业(1)
    第一次博客作业
    浅谈闭包
    预编译And作用域链
    定时器
    window事件
  • 原文地址:https://www.cnblogs.com/funtion/p/6151987.html
Copyright © 2020-2023  润新知