Java面向对象的基础
程序员文章站
2022-05-25 20:49:45
...
基本属性
首先我们需要了解JAVA面向对象中有几点需要注意的:
- 类 Class
- 对象 Object
- 属性 Field
- 方法 Method
Class 类
类是什么?可以把类理解为一个系。如人、猫、车等。这个概念是抽象的,是没有实体的。
也就是说类是只提供一些公共属性,但是这个属性是没有具体值的。这个时候就需要把类实例化,使其成为一个对象。
Object 对象
前面说到了,一个Class类只是相当于一个框架而已,而具体的使用则需要创建一个对象,对框架里的属性进行具体的赋值。
如:一个名为人的Class里面,提供了身高,年龄等属性。
这时候就需要把人类对象进行实例化并赋值。
人类
public class Man{
private int age;//年龄
private int height;//身高
public void setAge(int age) {
this.age = age;
}
public void setHeight(int height) {
this.height = height;
}
}
实例化
public static void main(String[] args) {
Man man = new Man();//通过一个类创建一个实例
man.setAge(19);//设置年龄
man.setHeight(182);//设置身高
}
通过setAge(int age) 和 setHeight(int height) 方法就已经对一个人类的实例进行了描述,这样man的实例就可以代表一个具体的人了,就不再是抽象的一个人类了。
Field 属性
属性其实在上一个例子里已经使用到了
public static class Man {
private int age;//年龄属性
private int height;//身高属性
private String name;//姓名属性
}
一个类里特有的成员变量就可以理解成一个属性。
如人类里的:年龄、身高、姓名等,这些变量被定义在Man这个类里,这三个变量就是人类所拥有的属性。
Method 方法
方法就可以理解为一个具体的功能。如一部手机,可以用来打电话、发短信、拍照等。每一项独特的功能就可以理解为手机是拥有这些方法的。
public class Phone {
private void sendMessage(String content) {
System.out.println("发送短信内容为:" + content);
}
}
sendMessage(String content)就是为手机类里的一个特定方法。方法里是可以做具体的业务逻辑。
如上面的人类:
public static class Man {
private int age;//年龄属性
private int height;//身高属性
private String name;//姓名属性
//设置具体的年龄
public void setAge(int age) {
this.age = age;
}
//取出具体的年龄
public int getAge() {
return age;
}
}
这里通过setAge()方法给本来无具体值的age变量设置为了传进来的具体值。
一般对方法的调用都是 对象.方法
Phone iPhone=new Phone();
iPhone.sendMessage("明天去看蔡徐坤打球");
控制台输出为
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:D:\idea\IntelliJ IDEA 2020.2.3\lib\idea_rt.jar=53727:D:\idea\IntelliJ IDEA 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Users\Administrator\IdeaProjects\ndd\out\production\ndd" com.company.Main
发送短信内容为:明天去看蔡徐坤打球
Process finished with exit code 0
面向对象是JAVA最重要也是最基础的,需要牢牢掌握。
上一篇: 集合
下一篇: mysql 批量更新