接口作为方法的参数和Object类的toString方法
接口作为方法的参数和返回值
list就是ArrayList所实现的接口
左边是接口名称,右边是实现类名称,这就是多态写法
//Skill是一个接口,SkillImpl是Skill的实现类
public static void main(String[] args) { //左边是接口,右边是实现类 Skill skill = new SkillImpl(); //左边是接口,右边是实现类 List<String> arrayList = new ArrayList<>(); List<String>result = addNames (arrayList); for (int i = 0; i <result.size(); i++) { System.out. println(result.get(i)); } } public static List<String>addNames(List<String> list){ list.add("迪雨热巴"); list.add("古力娜扎"); list.add("玛尔扎哈"); list.add("沙扬娜拉"); return list; }
Object类的toString方法
java.Lang . object类
类object是类层次结构的根(最顶层)类。每个类都使用object作为超(父)类。所有对象(包括数组)都实现这个类的方法。
Person类默认继承了object类,所以可以使用object类中的tostring方法
tring tostring()返回该对象的字符串表示。
看一个类是否重写了tostring方法,直接打印这个类对应对象的名字即可
如果没有重写tostring方法,那么打印的就是对象的地址值(黑认)
如果重写tostring方法,那么就按照重写的方式打印
ALT+INT

Person
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
toString方法已经帮我们写好了,直接调用即可
测试
public static void main(String[] args) { Person p = new Person( "张三", 18); String s = p.toString(); System.out.println(s); //直接打印对象的名字,其实就是调用对象的toString方法 p = p.toString( ); System.out.println(p); Random r = new Random( ); System.out.println(r); Scanner sc = new Scanner(System.in) ; System.out.println(sc); //重写toString方法 ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(2); System.out.println(list);//重写toString方法 }
可以在Person类里面新添加一个变量sex,重新写一下,有参无参,getset,toString
public static void main(String[] args) { Person p = new Person("张三", 18, "男"); String s = p.toString(); System.out.println(s); //直接打印对象的名字,其实就是调用对象的toString方法 p = p.toString( ); System.out.println(p); }
Person
public class Person { private String name; private int age; private String sex; public Person(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", sex='" + sex + '\'' + '}'; } }

浙公网安备 33010602011771号