• Java基础(三)


    1、构造方法

    当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。

    小贴士:无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法,一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效。

    格式

    修饰符 构造方法名(参数列表){
    // 方法体
    }

    构造方法的写法上,方法名与它所在的类名相同。它没有返回值,所以不需要返回值类型,甚至不需要void。使用
    构造方法后,代码如下:

    public class Student {
    private String name;
    private int age;
    // 无参数构造方法
    public Student() {}
    // 有参数构造方法
    public Student(String name,int age) {
    this.name = name;
    this.age = age;
    }
    }

    注意事项
    1. 如果你不提供构造方法,系统会给出无参数构造方法。
    2. 如果你提供了构造方法,系统将不再提供无参数构造方法。
    3. 构造方法是可以重载的,既可以定义参数,也可以不定义参数。

    标准代码——JavaBean

    public class ClassName{
    //成员变量
    //构造方法
    //无参构造方法【必须】
    //有参构造方法【建议】
    //成员方法
    //getXxx()
    //setXxx()
    }
    public class Student {
    //成员变量
    private String name;
    private int age;
    //构造方法
    public Student() {}
    public Student(String name,int age) {
    this.name = name;
    this.age = age;
    }
    //成员方法
    publicvoid setName(String name) {
    this.name = name;
    }
    public String getName() {
    return name;
    }
    publicvoid setAge(int age) {
    this.age = age;
    }
    publicint getAge() {
    return age;
    }
    }
    public class TestStudent {
    public static void main(String[] args) {
    //无参构造使用
    Student s= new Student();
    s.setName("柳岩");
    s.setAge(18);
    System.out.println(s.getName()+"‐‐‐"+s.getAge());
    //带参构造使用
    Student s2= new Student("赵丽颖",18);
    System.out.println(s2.getName()+"‐‐‐"+s2.getAge());
    }
    }
    例子

    2、ArrayList使用步骤

    java.util.ArrayList <E> :该类需要 import导入使后使用。
    <E> ,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,我们使
    用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。代码如下:

    ArrayList<String>,ArrayList<Student>

    基本格式:

    ArrayList<String> list = new ArrayList<String>();

    在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:

    ArrayList<String> list = new ArrayList<>();

    查看成员方法

    public boolean add(E e) : 将指定的元素添加到此集合的尾部

    对于元素的操作,基本体现在——增、删、查。常用的方法有:
    public boolean add(E e) :将指定的元素添加到此集合的尾部。
    public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
    public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
    public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

    如何存储基本数据类型
    ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的
    包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:

    基本类型                               基本类型包装类
    byte                                      Byte
    short                                    Short
    int                                        Integer
    long                                     Long
    float                                    Float
    double                                Double
    char                                   Character
    boolean                             Boolean

    3、笔记

    1、用private关键字将需要保护的成员变量进行修饰。
    
    一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
    但是!超出了本类范围之外就不能再直接访问了。
    
    间接访问private成员变量,就是定义一对儿Getter/Setter方法 ---> (像Python的__set__和__get__)
    
    必须叫setXxx或者是getXxx命名规则。
    对于Getter来说,不能有参数,返回值类型和成员变量对应;
    对于Setter来说,不能有返回值,参数类型和成员变量对应。
    
    注意事项:对于基本类型当中的boolean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。
    
    2、
    当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
    如果需要访问本类当中的成员变量,需要使用格式:
    this.成员变量名
    
    “通过谁调用的方法,谁就是this。”
    
    3、构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
    格式:
    public 类名称(参数类型 参数名称) {
        方法体
    }
        注意事项:
        1. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
        2. 构造方法不要写返回值类型,连void都不写
        3. 构造方法不能return一个具体的返回值
        4. 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做。
        public Student() {}
        5. 一旦编写了至少一个构造方法,那么编译器将不再赠送。
        6. 构造方法也是可以进行重载的。
        重载:方法名称相同,参数列表不同。
    
    4、一个标准的类通常要拥有下面四个组成部分:
    
        1. 所有的成员变量都要使用private关键字修饰
        2. 为每一个成员变量编写一对儿Getter/Setter方法
        3. 编写一个无参数的构造方法
        4. 编写一个全参数的构造方法
    
        这样标准的类也叫做Java Bean
    
    5、Scanner类的功能:可以实现键盘输入数据,到程序当中。
    
        引用类型的一般使用步骤:
    
        1. 导包
        import 包路径.类名称;
        如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
        只有java.lang包下的内容不需要导包,其他的包都需要import语句。
    
        2. 创建
        类名称 对象名 = new 类名称();
    
        3. 使用
        对象名.成员方法名()
    
        获取键盘输入的一个int数字:int num = sc.nextInt();
        获取键盘输入的一个字符串:String str = sc.next();
    
    6、创建对象的标准格式:
    类名称 对象名 = new 类名称();
    
    匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
    new 类名称(参数列表);
    
    注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
    使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
    
    7、Random类用来生成随机数字。使用起来也是三个步骤:
    
        1. 导包
        import java.util.Random;
    
        2. 创建
        Random r = new Random(); // 小括号当中留空即可
    
        3. 使用
        获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()
        获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3)
        实际上代表的含义是:[0,3),也就是0~2
    
    8、java.lang.String类代表字符串。
        API当中说:Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
        其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)
    
        字符串的特点:
        1. 字符串的内容永不可变。【重点】
        2. 正是因为字符串不可改变,所以字符串是可以共享使用的。
        3. 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。
    
        创建字符串的常见3+1种方式。
        三种构造方法:
        public String():创建一个空白字符串,不含有任何内容。
        public String(char[] array):根据字符数组的内容,来创建对应的字符串。
        public String(byte[] array):根据字节数组的内容,来创建对应的字符串。
        一种直接创建:
        String str = "Hello"; // 右边直接用双引号
    
        注意:直接写上双引号,就是字符串对象。
    
    9、字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。
    
    对于基本类型来说,==是进行数值的比较。
    对于引用类型来说,==是进行【地址值】的比较。
    
    10、==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:
    
        public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false。
        注意事项:
        1. 任何对象都能用Object进行接收。
        2. equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。
        3. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
        推荐:"abc".equals(str)    不推荐:str.equals("abc") ---> 当str为null时,str.equals()报错
    
        public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较。
    
    11、String当中与获取相关的常用方法有:
    
    public int length():获取字符串当中含有的字符个数,拿到字符串长度。
    public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串。
    public char charAt(int index):获取指定索引位置的单个字符。(索引从0开始。)
    public int indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值。
    
    12、字符串的截取方法:
    
    public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串。
    public String substring(int begin, int end):截取从begin开始,一直到end结束,中间的字符串。
    备注:[begin,end),包含左边,不包含右边。

  • 相关阅读:
    C# 中字符串转换成日期
    c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0);
    c#获取程序版本号
    分分钟用上C#中的委托和事件
    【转载】C# 中的委托和事件(详解:简单易懂的讲解)
    C#什么时候需要使用构造函数
    15、生命周期-BeanPostProcessor-后置处理器
    13、生命周期-InitializingBean和DisposableBean
    11、组件注册-使用FactoryBean注册组件
    12、生命周期-@Bean指定初始化和销毁方法
  • 原文地址:https://www.cnblogs.com/linyuhong/p/10513763.html
Copyright © 2020-2023  润新知