首页 > 代码库 > Java基础笔记10

Java基础笔记10

类的设计分析:
  1.根据需求抽取属性.(名词几乎都是属性)
  2.属性私有化(private)
  3.生成setter和getter方法
  4.可以根据需要添加构造函数.
  5.根据需求抽取其他方法.(动词几乎都是方法.)
  6.方法中尽量避免输出语句,调用处输出.

构造方法.
  特点: 方法名与类名相同.并且没有返回类型.
  作用: 实例化对象. 初始化对象的属性值.
    如果没有创建构造方法,那么系统会添加一个无参什么都不做的构造方法.一旦自定义了构造方法,那么
    系统添加的构造方法就会消失.


普通方法的重载:
  在同一个类中,出现多个方法名相同,参数不同(个数,类型,顺序)的方法.这些方法就是重载方法.


构造方法的重载:
  参数不同.

 

this关键字.

  表示本类对象.只要是类,该类都存在一个对象this.
    1.调用本类中的属性.
    2.本类中构造方法.
    3.表示调用者对象.

  注意:使用this调用构造方法时,必须放在该构造方法的第一行。

String类 字符串类. (对象字符的操作) 凡是系统带的类都可以从api文档中查找.

  常用的方法:

  equals();比较两个字符串是否相同.(内容)
  public char charAt(int index):获取字符串指定位置上的字符.
  public String concat(String str)将指定字符串连接到此字符串的结尾。
  public boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束.
  public boolean startsWith(String suffix)测试此字符串是否以指定的前缀开始.
  boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
  public int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  public int lastIndexOf(int ch);返回指定字符在此字符串中最后一次出现处的索引.
  public int length()返回此字符串的长度.
  public String replace(char oldChar,char newChar)覆盖
  public String[] split(String regex):拆分字符串.
  public String substring(int beginIndex):截取字符串.
  public char[] toCharArray():把字符转化为字符数组.

static关键字.静态的,全局的
  修饰属性.该变量所有全局变量. 属于该类的所有对象公用. static内存.
  修饰方法.表示 静态方法.该方法只能调用静态成员.
  在其他类中调用该类中的静态成员.1.通过类名调用. 2.对象调用.
  在其他类中调用该类中的非静态成员.1.对象调用.

    注意:如果一个方法要由主方法直接调用,则必须是“public static 返回类型 (参数列表){}”,因为主方法是静态方法,不能直接调用非静态方法。

代码块{}
  普通代码块:{} 在方法中. 当方法被执行时.
  构造代码块:{} 在类中定义. 当实例化对象时,先调用构造代码块,再调用构造方法.而且每次实例化对象都会被执行.
         比如多个对象的公共初始化信息可以放在构造代码块中.
  静态代码块:{} 在类中但是用static修饰.
         在类加载时被执行,而且只会执行一次.
  同步代码块:{}

 构造方法的私有化

单例设计模式,作用来控制对象的产生,无论程序怎样执行都只会产生一个对象。

外界无法执行实例化对象.
1.单例模式. (1.饿汉式 2.懒汉式)
1.构造方法私有化.
2.在本例中实例化该类的对象.并使用static修饰.
3.提供一个静态方法把本类中实例化的对象返回

class People{
    /**
     * 恶汉单例设计模式
     */
    private static People p=new People(); 
    private People(){
    }
    public static People getPeople(){
        return p;
    }
}
class Person{
    /**
     * 懒汉单例设计模式
     */
    private static Person p1;
    private Person(){
    }
    public static Person getPerson(){
        if (p1==null) {
            p1=new Person();
            return p1;
        }
        return p1;
    }
}

 

Java基础笔记10