• 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 返回类型 (参数列表){}”,因为主方法是静态方法,不能直接调用非静态方法。

    代码块{}


      普通代码块:在方法中. 当方法被执行时.直接在一个方法中出现的{}就称为普通代码块


      构造代码块:在类中定义. 当实例化对象时,先调用构造代码块,再调用构造方法.而且每次实例化对象都会被执行.比如多个对象的公共初始化信息可以放在构造代码块中.

     1 public class CodeDemo02{
     2     public CodeDemo02(){
     3         System.out.println("========这是构造方法=========");
     4     }
     5     //这是构造代码块,而且在new对象时,构造代码块优先构造方法执行
     6     {
     7          System.out.println("=========这是构造块!=========");
     8   }
     9   public static void main(String[] args){
    10       new CodeDemo02();
    11       new CodeDemo02();
    12   }
    13 }
    14         

             
      静态代码块: 在类中但是用static修饰.在类加载时被执行,而且只会执行一次.

     1 public class CodeDemo03{
     3   static{
     5     System.out.println("这是主类中的静态代码块!");
     7   }
     9   public static void main(String[] args){
    11           new Demo();
    13           new Demo();
    15           new Demo();
    17   }
    19 }
    21 class Demo{
    23   static{
    25      System.out.println("这是Demo类中的静态代码块!");
    27   }
    29   {
    31       System.out.println("这是Demo类中的构造块!");
    33   }
    35   public Demo(){
    37       System.out.println("这是构造方法!");
    39   }
    41 }


      注意:当实例化对象时,先调用构造代码块,再调用构造方法.而且每次实例化对象,构造代码块都会被执行。如果同时包含静态代码块,优先于构造代码块执行。

     构造方法的私有化

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

    外界无法执行实例化对象.
    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;
        }
    }
  • 相关阅读:
    Windows Server 2008搭建AD域控服务器
    远程桌面出现CredSSP解决方案
    破解Excel工作表保护,清除所有密码并获取密码
    Windows Server 2008 R2 搭建NTP时间服务器
    VMware Tools
    windows常用运行命令
    无线AP与AC详解
    单臂路由
    ACL控制指定IP访问限制
    Linux下安装VMware
  • 原文地址:https://www.cnblogs.com/qq634571685/p/6658324.html
Copyright © 2020-2023  润新知