AI智能
改变未来

Java基础语法(十一)类?对象?我能不能写个妹子类给自己造个(一个够吗?)对象?

文章目录

  • 前言
  • 自定义女孩类
  • 女孩的属性
  • 女孩的动作
  • 结语
  • 前言

    首先声明,本人并不是什么大佬,也是一个初入IT界的小白,我们一起加油学习!

    这次可以学习自定义类和对象的知识了,让我们先去了解什么是对象,什么是类

    造妹计划:造一个妹子类,自己定义一个完美的对象!

    那么什么是类呢?类,分门别类的类,类别的类,人“类”就是我们现实生活中的一个类,而每一个人就是一个对象。
    对象就是特殊个体,类就是一般个体,可能还是不那么好理解,我就再详细点
    “我认识一个叫做丸子的女孩”——这句话中,丸子就是对象,代表一个真正的人,具体的人;而女孩就是类,代表一个抽象的东西,一个笼盖所有女孩的类别。

    自定义女孩类

    把具有相同特征的一些东西/事物分门别类,我们自己造一个名字

    好,我们现在造一个火柴盒妹子类,用比较艺术化的话来说就是:只具其形,不具其神!

    class Girl{}

    好了,这就是我们的女孩类,是不是感觉啥都没有,不对不对,Java类中有一个默认的东西,叫做构造方法构造方法构造方法,重要的事情说三遍!
    构造方法:实例化对象时,自动调用,默认会存在一个无参数的构造方法

    1. 无参构造方法:默认构造方法,只用于创建实例化对象,无法接受参数
    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl();System.out.println(girl);  //Girl@4517d9a3,返回的是内存地址}}class Girl{}
    1. 有参构造方法:Java类中可以创建多个构造函数,但是参数和返回类型不能相同,这种情况叫做重载,意思就是你可以创建很多个构造函数
    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl();Girl girl1 = new Girl("Jecy");}}class Girl{Girl(String name){System.out.println("有参构造函数"+"  "+name);}Girl(){System.out.println("无参构造函数");}}/*输出结果为:无参构造函数有参构造函数  Jecy*/

    应该已经了解构造函数了吧,啊,这个实在想不出来什么骚话来形容~~

    女孩的属性

    类中有属性,分为成员变量,局部变量和类变量
    在我们创建的女孩类中,属性就是女孩们的诸如身材,相貌等的东西,当然,像什么年龄名字的,也是必须有的,不过不同的属性有不同的作用,所以属性也分上面三种

    1. 成员变量
      在类中,方法外定义,在实例化对象时创建,并可以被实例化对象拿去用(赋值,修改),不多说,看代码
    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl(); //实例化对象girl.age = 10;  //调用 设置成员变量值girl.name = "Jeccy";  //调用 设置成员变量值System.out.printf("%s今年%d岁了",girl.name, girl.age);}}class Girl{public int age;public String name;}/*输出结果为:Jeccy今年10岁了*/
    1. 局部变量
      在方法中定义,作用于在定义的方法中,也就是说只在该方法中能够使用,比如在构造方法中的变量,就无法通过实例化的对象调用
    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl(10,"Jeccy");  //用有参构造方法实例化对象System.out.printf("%s今年%d岁了",girl.name, girl.age);}}class Girl{public int age;  //成员变量public String name;  //成员变量Girl(int a, String n){age = a;  //局部变量,无法通过实例化对象直接调用name = n;  //局部变量}}/*输出结果为:Jeccy今年10岁了*/
    1. 类变量
      需要通过static修饰符修饰,可以直接通过类名调用
    public class Ec4_19 {public static void main(String[] args) {Girl.name = "西施";Girl.age = 10;System.out.printf("%s今年%d岁了",Girl.name, Girl.age);}}class Girl{public static int age;public static String name;}/*运行结果:西施今年10岁了*/
    1. 私有属性
      无法被外界访问的属性,就是私有属性,就像女孩们有些东西不会被别人知道一样(比如三围之类的啦)
    public class Ec4_19 {public static void main(String[] args) {Girl.name = "西施";Girl.age = 10;System.out.printf("%s今年%d岁了",Girl.name, Girl.age);}}class Girl{private static int age;private static String name;}/*这样写,就算是定义的静态方法,但是因为是私有的,也无法被访问运行会报错*/

    女孩的动作

    行为就是方法,一般来说,Java类的规范写法是为每个属性设置一个setXxx方法,一个getXxx方法,并且将每个属性设为私有方法
    就像这样:这是一般的规范写法

    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl();girl.setAge(10);girl.setName("Jerry");System.out.printf("%s今年%d岁了", girl.getName(), girl.getAge());}}class Girl{private int age;private String name;void setName(String name){this.name = name;}String getName(){return name;}void setAge(int age){this.age = age;}int getAge(){return age;}}

    当然,也有别的普通的方法,比如妹子会撒娇,会打游戏之类的

    public class Ec4_19 {public static void main(String[] args) {Girl girl = new Girl();girl.setAge(10);girl.setName("Jerry");girl.playGame();System.out.println("");girl.coqutry();System.out.printf("%s今年%d岁了", girl.getName(), girl.getAge());}}class Girl{private int age;private String name;void setName(String name){this.name = name;}String getName(){return name;}void setAge(int age){this.age = age;}int getAge(){return age;}void playGame(){System.out.printf("%s打游戏很厉害", name);}void coqutry(){System.out.println("哥哥不要这样啦,人家害怕啦~~~");}}/*运行结果:Jerry打游戏很厉害哥哥不要这样啦,人家害怕啦~~~Jerry今年10岁了*/

    结语

    好了,今天到这里就结束了,我们的造妹行动也算是跨出了从零到有这一突破性的一步!!!喝彩~~
    例子中的年龄有点不好,那可是三年起步啊,不行不行,以后不能再这样了!
    giao辞了,xdm

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » Java基础语法(十一)类?对象?我能不能写个妹子类给自己造个(一个够吗?)对象?