目录
一、概念
(一)什么是 API ?
直译:应用程序 编程 接口
意义: 各种工具
(二)什么是API 文档
就是所有工具的说明书(使用方法)
#注:API文档中【已弃用】代表:当前此方法不推荐使用,请寻找替代方案。若实在无替代方案情况下,可以使用。
二、 通过API文档来研究Object
(一)toString() 方法
(1)默认:直接打印对象名,底层会自动调用toString 方法,基本数据类型会将值转化为字符串打印出来,引用数据类型会打印变量的地址。
(2)作用:当测试时,打印对象名不想看到地址,可以考虑重写本方法,返回指定的内容
(3)案例:
package demo;
public class Student {
private String name;
private int age ;
public Student() {
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
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;
}
}
package demo;
public class Demo01 {
public static void main(String[] args) {
Student stu = new Student("坤坤",18);
System.out.println("直接打印对象名:"+stu);
System.out.println("toString:"+stu.toString());
}
}
结果:
直接打印对象名:demo.Student@15db9742
toString:demo.Student@15db9742
重写本方法:
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
重写后打印结果:
直接打印对象名:Student [name=坤坤, age=18]
toString:Student [name=坤坤, age=18]
(二)equals() 相等 方法
(1)自定义的比较“目标对象”和“本对象”是否相等
(2)与 == 区别
1、不重写此方法的情况下,跟 == 无区别,比较的是对象的地址
2、如果重写,就可以根据自己的规则来比较
3、 字符串的比较,标准使用本方法,最准确
(3)字符串案例:
package demo;
public class Demo03 {
public static void main(String[] args) {
String acc = new String("hello");
String input = new String("hello");
System.out.println(acc);
System.out.println(input);
System.out.println(acc == input);
System.out.println(acc.equals(input));
String a = "hello";
String b = "hello";
System.out.println(a == b);
System.out.println(a.equals(b));
}
}
结果:
hello
hello
false
true
true
true
原因:
1、堆中是不同的对象的不同实例。因而字符串对象的实例地址不同,==结果是false,而equal()方法对于字符串对象比较的是逐个字符。因而结果是true。
2、方法区中有常量池存储各种常量,a和b的指向都是"hello"常量,因而地址也相同。
三、 Java 界面编程
(一)窗体 JFrame
继承,好扩展
默认的布局方式:方位布局,如果直接添加元素,默认铺满整个容器
万能的布局方式:绝对布局(想放哪里放哪里,想放多大就多大)
(二)按钮 JButton
(三)文本框 JTextField
(四)密码框 JPasswordField
(五)标签 JLabel (承载 文字 或 图片 )
(六)字体设置 Font
(七)文本域 JTextArea
(八)带滚动条的面板 JScrollPane
详情参考以下资料。
java 怎么显示一个JLabel?_360问答 (so.com)https://wenda.so.com/q/1386606929067177
java:窗体里的标签(设置标签;字体;颜色)_java标签设置颜色-CSDN博客https://blog.csdn.net/qq_44925904/article/details/107395065
怎么让JTextField不可编辑但是底色仍然是白色?_360问答 (so.com)https://wenda.so.com/q/1364856945064769