• 抽象和封装


    1.从现实抽象出类的步骤
    第一:找出分类(分析出类)
    第二:找出类的特征(分析类的相关属性)
    第三:找出类的行为(分析类的方法)
    2.常量(经常出现的变量值)
    语法:piblic static final 变量名 = 变量值;
    注意:变量名的所有字母都大写,多个单词都用下划线(_)分隔。
    例:public static final SEX_MALE ="Q仔";

    常量的访问方式:类名.常量名;
    3.构造方法(特殊方法,用来创建对象)
    3.1语法:public 类名(参数列表){
    //方法体;
    }
    3.2使用
    类名 对象 = new 构造方法名(参数);
    例:Dog d = new Dog();
    3.3构造方法的使用
    a.创建对象
    b.初始化值(属性值)
    3.4构造方法和普通方法的区别
    a.构造方法没有返回值类型(return...)
    b.构造方法的方法名是类名,普通方法可以任意取
    c.构造方法调用:new 构造方法名(参数);
    普通方法的调用: 对象名.方法名(参数);
    注意:当你没有写构造函数时,java会提供默认的无参构造函数
    例:Public Dog(){
    }
    4.方法重载
    4.1方法重载:方法名一样,参数列表不一样
    注意:重载与返回值类型和访问修饰符无关
    5.static和final
    static:静态的
    用static 修饰的属性,直接可以类名.方法名访问
    final:最终的
    用final修饰的属性,它的值初始化后,不能再改变
    static.非private修饰 非static private修饰
    属性
    注意:static 不能在方法中修饰局部变量
    补充:后++,先把本身的值作为表达式的值,然后本身+1
    例:i++;
    前++,先本身+1,然后再把值作为表达式的值
    例:++i;

    6.封装
    6.1封装:隐藏类内部实现细节
    6.2步骤:
    第一步:将属性私有化。
    第二步:提供getter/setter方法(getXxxx(),setXxxx()),
    第三步:在getter/setter中加入控制语句
    6.3this关键词
    this:表示当前对象
    调用属性:this.属性名
    调用方法:this.方法名();
    this();表示调用构造函数
    注意:this(),必须写在构造函数的第一行
    7.继承(extends)
    7.1继承:遗传
    7.2语法
    public class 子类 extends 父类{
    }
    例:public class Dog extends Pet{
    }
    7.3继承的特点
    a.子类可以继承父类的非私有的属性和方法
    b.不能继承构造方法
    c.继承默认权限修饰符的方法和属性,子类和父类必须在同一个包中
    7.4 super(父类)
    super.属性名 表示访问父类的属性
    super.方法名(参数); 表示访问父类的方法
    super(参数) 表示访问父类的构造函数
    注意:super()访问父类构造函数时,必须写在第一行

    8.抽象类(abstract)
    8.1 抽象类
    语法:public abstract class 类名{};
    8.2抽象方法
    语法:public abstract 返回值类型 方法名(参数列表);
    例:public abstract void print();
    注意:抽象方法有abstract修饰,并且抽象方法没有方法体
    8.3抽象类和抽象方法的特点
    a.都用abstract修饰
    b.抽象方法没有方法体
    c.抽象类不能实例化
    并且继承抽象类的子类都必须重写抽象类中的所有抽象方法

    注意:1.抽象类中不一定有抽象方法
    2.含有抽象方法的类,一定是抽象类(接口)
    9.重写
    9.1重写就是子类重写定义父类的方法
    9.2.重写规则
    a.方法名和参数列表相同
    b.修饰符访问权限子类和父类相同或者比父类大
    c.返回值类型子类和父类相同(或者是父类的返回值的子类)
    d.异常跟父类相同或者范围更小

    一般:重写时,子类的东西都要与父类保持一致
    10.final
    final修饰的类不能被继承
    final修饰的方法不能重写
    final修饰
    //自动类型转换
    char c= 10;
    int a = c;
    //强制类型转换
    int a = 10;
    char c = (char)a;
    //向上转型
    Dog d = new Dog( );
    Pet p = d;
    //向下转型
    Pet p = new Dog();
    Dog d = (Dog) p ;

  • 相关阅读:
    jQuery插件开发——元素拖拽和基于鼠标位置为中心缩放
    基于Quartz.Net的任务管理平台开发(3) —— 任务管理平台
    记录一下Linq实现多列排序的问题
    动态构造Lambda表达式
    MVC全局实现异常处理
    修改自增列起始值,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'******'中的标识列指定显式值
    统计指定时间段内生日的用户
    SQL开关功能记录
    枚举对象实现 DropDownList 的转换操作二
    枚举对象实现 DropDownList 的转换操作一
  • 原文地址:https://www.cnblogs.com/hewei-666/p/6837849.html
Copyright © 2020-2023  润新知