码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象(2)

时间:2019-03-23 11:50:01      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:初始   删除   tostring   长度   调用   substring   compare   面向对象   ==   

涉及内容:构造方法,static关键字,字符串

一.构造方法

  1. 是与类名相同的方法名
  2. 对于每个类,JVM都会默认添加一个无参构造方法(构造器),当我们指定时,系统就不会自动添加了。
  3. 构造方法可以重载
  4. 构造方法在创建对象时执行
  5. 不能直接被调用,只能在其他构造方法中调用,这里用到this关键字,只能在第一行被调用
  6. 无返回值,但可以用return结束整个方法。
public Person(){
    this("Cherry");
    System.out.println("无参构造器");
}
public Person(String name){
    //this();
    System.out.println("有参构造器");
    this.name=name;
}
Person p1=new Person();
Person p2=new Person("Tom");
Person p2=new Person(12);//报错,没有这个类型的构造器

二.Static关键字

  1. 与对象无关,只跟类有关,所有对象共用一个静态数据
  2. 可以用(类名.静态)的方式来调用
  3. 静态方法中不能使用非静态数据,因为还没来得及初始化
  4. 静态方法中如果使用非静态,可先创建那个数据的对象,然后通过对象.属性(方法)调用
  5. 在静态中不能用this关键字(因为this跟对象有关嘛)

三.字符串

  1.==和.equals的区别:

    ==直接比较的是变量的值,.equals()方法比较的是地址上面具体的值

    intern()方法:内容与此字符串相同,但一定取自具有唯一字符串的常量池

String s1=new String("fsk");
String s2=new String("fsk");
System.out.print(s1==s2);//比较的是栈内的值(地址),这个是false
System.out.print(s1.equals(s2));//true
s3.intern()==s1//true

  2.toString()方法

    属于object类的方法,在直接输出对象时,实际上就是在调用对象的toString()方法,可重写

  3.其他方法列举

 1 s.charAt(i);//返回指定索引出的字符
 2 s.compareTo(s1);//按ASCII码一个字符一个字符地比较
 3 s.concat(s1);//字符串拼接
 4 s.contains("ab");//是否包含
 5 s.endsWith(".java");//是否以某结尾
 6 s.indexOf("ab");//返回索引
 7 s.length();//字符串的长度
 8 s.isEmpty();//是否为空
 9 s.lastIndexOf("a");//最后出现a的位置的索引
10 s.substring(5,7);//子串
11 s.toCharArray();//转为字符数组
12 s.trim():删除头尾的空格,没有参数,只能删除空格

 

面向对象(2)

标签:初始   删除   tostring   长度   调用   substring   compare   面向对象   ==   

原文地址:https://www.cnblogs.com/anzhilanxiao/p/java.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!