13.oop面向对象
作者:互联网
1.构造器
package oop.demo_2;
public class Person {
String name;
int age;
//无参构造器
//1.实例化初始化
//2.使用new关键词,本质是在调用构造器
public Person() {
this.name = "wangs";
}
//有参构造; 如果定义了有参构造,那么必须定义无参构造
//重载
public Person(String name){
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
package oop.demo_2;
public class demo02 {
public static void main(String[] args) {
//new实例化一个对象
Person person = new Person("w",22);
//如果有参,那么调用有参构造器的对象,
//如果无参,那么调用无参构造器的对象。
System.out.println(person.age);
}
}
- 构造器:
- 1.和类名相同
- 2.没有返回值
- 作用:
- 1.本质在调用构造方法
- 2.初始化对象的值
- 注意点:
- 1.定义有参构造之后,如果想使用无参构造,显示定义一个无参的构造。
- this. 当前类 = 构造器相关的东西
2.私有、获取、赋值
private、get、set
package oop.demo_3;
public class Student {
//private属性私有
//创建属性
private String name;
private int age;
private int id;
private String sex;
//提供一些可以操作这个属性的方法
//提供一些public使用的方法 get、set
//使用get获得这个数据
public String getNanme(){//获取姓名
return name;
}
public int getAge() {//获取年龄
return age;
}
public int getId() {//获取ID
return id;
}
public String getSex() {//获取性别
return sex;
}
//使用set给这个数据赋值
//给姓名赋值 并打印
public void setName(String name) {
this.name = name; //将上面的 数据传过来
System.out.println(name);
}
//给年龄赋值 并打印
public void setAge(int age) {
if (age < 100 && age > 0){
this.age = age;
System.out.println(age);
}
else {
System.out.println("输入错误");
}
}
//给ID赋值 并打印
public void setId(int id) {
this.id = id;
System.out.println(id);
}
//给性别赋值 并打印
public void setSex(String sex) {
this.sex = sex;
System.out.println(sex);
}
}
package oop.demo_3;
public class demo {
public static void main(String[] args) {
//调用各个方法的 值
Student student = new Student();
student.setName("王松");
student.setAge(10);
student.setId(1);
student.setSex("男");
}
}
3.继承 extends
package oop.demo_4;
//父类 人
//所有的类都默认继承:extends object;
public class person {
//extends继承
//public 共有的
//protected 受保护的
//default 默认的
//private 私有的
//Ctrl+H 打开继承树
//父项人有1亿块钱
private int money = 10_000_0000;
public void say(){
System.out.println("说了一句话");
}
//因为是私有有,所以需要获取
public int getMoney() {
return money;
}
//获取完成后,需要赋值
public void setMoney(int money) {
this.money = money;
System.out.println(money);
}
}
package oop.demo_4;
//学生继承人
public class stduent extends person {
}
package oop.demo_4;
//老师继承人
public class teacher extends person{
}
package oop.demo_4;
public class test {
public static void main(String[] args) {
stduent stduent = new stduent();//创建一个学生对象
stduent.say(); //虽然学生类下没有方法,但是继承了人的方法,所以可以打印;
teacher teacher = new teacher();//创建一个老师对象
teacher.setMoney(1);//调用方法,继承父项的钱
System.out.println(stduent.getMoney());//继承父项的钱并打印
}
}
标签:13,name,int,age,面向对象,void,oop,public,String 来源: https://www.cnblogs.com/stion123/p/16207264.html