A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Devil灬snow 初级黑马   /  2018-6-18 12:41  /  797 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法是创建对象相的方法,当我们通过关键字new开创建对象是,其实就是在调用构造方法
格式:
        public 类名称(参数类型 参数名称){
                方法体
        }
注意事项:
1.构造方法的名称必须和所在的类名称完全一样,连大小写也要一样
2.构造方法不要返回值,连void都不要写
3.构造方法不能return一个具体的返回值
4.如果没有编写任何构造方法,呢么编译器将会默认赠送一个默认的构造方法,没有方法体参数什么事情就不做
piblic Student(){}
5.一旦编写了至少一个构造方法,那么编译器将不再赠送。
public class Student{
        public Student(){
                System.out,println("无参构造方法执行啦");
        }
        //构造方法相同 ,就是方法的重载
        public Student(String name,int age){
                this.name = name;
                this.age = age;
                System.out,println("有参的构造方法执行啦");
        }
        //赋值获取name
        public void setNmae(String name){
                this.name  = name;
        }
        public String getName(){
                return name;
        }
        //赋值获取age
        public void setAge(int age){
                this.age = age;
        }
        public int getAge(){
                return age;
        }
}

        把构造方法私有(private),只给静态方法,那么就不能通过对象来访问静态方法,只能通过类来访问静态方法
        工具类中是可以使用静态的
注意:
        我们做项目给人家的是class文件,里面是什么,人家都看不懂,所以要给其一说明书
        说明书:
                写一个工具类,
                给这个类加上文档注释
                怎么加?
               

        API应用程序编程接口,API字典查工具类,导包   左闭右开 int num = s.nextInt(10);(取值范围是0~9)
把构造方法私有外界就不能创建对象了
        private ArrayTest(){};

        如何制作一个说明书
                A.写一个工作类
                B.对这个工具类加入文档注释,怎么加呢?加写什么东西呢?
                C.用工具解析文档注释
                        javadoc工具

                字符串的那内容永不改变
                因为字符串不可改变,所以字符串是可以共享的,就是说s = "Hello",s1 = "Hello"
                字符串效果上相当与char[]数组,但是底层原理是byte[]字节数组
                equals比较内容:
               
                        public boolean equals(Object obj){}        任何对象都能用Object接受
                        常量字符串建议放前面,变量字符串放后面,比较的时候
                        忽略大小写进行比较equalsIgnoreCase(Object obj)  equalsIgnoreCase
                       
                        public int length(); 获取字符串含有字符的个数
                        public String concat(String str);  前字符串和后字符串拼接成返回值新创建的字符串
                        public char charAt(int index);获取指定索引位置的单个字符
                        public int indexOf(Stirng str):查找参数字符串当中首次的索引位置,没有返回-1值;
                        publiv String substring(int index);                截取从参数位置一直到字符串末尾,返回新字符串。
                        publiv String substring(int begin,  int end);截取字符串左闭右开区间
                        public char[] tocharArray();  将当前字符串拆成字符数组的返回值
                        public byte() getBytes();    获取字符串底层的字节数组
                        public Sting replace(charSequence可以接受字符串类型 oldString,charSequnence newString){};   例子  String str = str1.replace("o","*")
                        public String[] split(String regex);按照参数的规则,将字符串切分成若干部分
                                split的方法参数其实是一个正则表达式,今天要注意,若果按照英文据点"."不行"只能写"//."
public class StringDemo02 {
        public static void main(String[] args){
                String str = "helloworld";
                String str6 = "HELLOWORLD";
               
                "abc" 等效于  char[]?data={?'a'?,?'b'?,?'c'?}
               
               
               
               
                //是否相等的判断,和我大小写的判断
                System.out.println(str.equals(str6));
                System.out.println(str.equalsIgnoreCase(str6));
               
                //求字符的长度
                System.out.println(str.length());
               
                //拼接-->相当于+
                String str2 = "welcome";
                String s = str.concat(str2);
                System.out.println(s);
               
                //获取指定索引出的字符
                char ch = str.charAt(2);
                System.out.println(ch);
               
                //获取str在字符串对象中第一次出现的索引,每有返回-1
                System.out.println(str.indexOf("llo"));
                System.out.println(str.indexOf("o"));
               
                //获取最后一个索引值
                System.out.println(str.lastIndexOf("d"));
               
                //截取字符串,从start开始,到结尾
                System.out.println(str.substring(5));
               
                //substring(a,b)就是从a开始,到b结束,包括a不包括b
                System.out.println(str.substring(5,9));
               
                //将字符串转化成数组
                char[] charArray = str.toCharArray();
                for(int i = 0;i<charArray.length;i++){
                        System.out.print(charArray[i]+" ");
                }
               
                System.out.println();
                //把字符串转换为字节数组
                byte[] bytes = str.getBytes();
                for(int i = 0;i<charArray.length;i++){
                        System.out.print(bytes[i]+" ");
                }
                System.out.println();
               
                //替换字符串当中的字符
                //给已替换的不仅仅是按位数来的
                String str3 = str.replace("lo", "*");
                System.out.println(str3);
               
                //分割字符串,有一个划分的依据
                String str4 = "123abc123abc123abc";
                //分割后是组数模式这你得明白
                String[] strArray2 = str4.split("123");
                for(int i = 0;i<strArray2.length;i++){
                        System.out.println(strArray2[i]);
                }
               
        }
}


                静态代码块:
                        在类中 static{}
                特点:当第一次用到本类时,静态代码块执行唯一的一次
                          静态代码块优先执行
                用途:          
                          用来一次性的对静态成员变量进行

                Arrays.sort(arr)这个是自动上升排序数字大小升序,字符串是字母升序,还有一种日后再说,这个是没有返回值的,遍历数组你就toString
                Arrays.toString(arr)这个是便利数组,直接是返回值的,
                快捷键arr.forr倒叙
                public static double abs(double num)//获取绝对值
                public static double ceil(double num)//向上取正12.1取13  -10.1取-10
                public static double floor(double num)//向下取整
                public static double round(double num)  //四舍五入
                MAth.PI直接给个圆周率
                count 数量的意思,result 结果,要有习惯哦!
:
        代码块:在JAVA中使用{}括起来的代码称之为代码块,根据其位置和申明不同分为
                局部代码块:在方法中出现,用于限定变量的生命周期
                构造代码块:在构造方法的位置,在类中的成员位置,多个构造方法中相同夫人代码都存放到一起,每次调用构造都执行,并且在构造方法前执行
                                        一般对对象进行初始化
                静态代码块: 在成员变量位置用static{}表示,一般对类进行初始化 (在同一个类中比main方法优先级要大)
                同步代码块:多线程教
        先执行静态代码块,在执行构造代码块,最后执行构造方法
                        1次                        每次用都执行                同左
         class Code{
                {int x = 100;
                System.out.println(x);}
                public Code{}
         }
         
         class CodeDemo{
                public static void main(String[] args){
                        //局部代码块
                        {int x = 10;
                        System.out.println(x);}
                        //找不到x符号
                        System.out.println(x);//这里就输出不了了
                }
                System.out.println("----------")
                         Code c = new Code;
                         //每次执行构造方法都会执行构造代码块
        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马