03.面向对象:类及类的封装——public和private

xiaoxiao2025-04-24  13

面向对象:把构成问题的事物,按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。——《Java基础案例教程》

面向对象的特点:

封装:封装属性和行为继承:无需在重新编写原有类的情况下,对原有类的功能进行扩展——增强代码复用,提高开发效率多态:允许重名,不同对象所表现的行为不同

一、类

类是对象的抽象,鸟是一类,鹦鹉是一个对象

创建类

class Person{ int age; void Speak() { System.out.println("我今年"+age+"岁~"); } }

新建类:

Person P = new Preson();

全部程序:

public class Example01 { public static void main(String[] args) { Person p1 = new Person(); //新定义对象 Person p2 = new Person(); //新定义对象 p1.age = 19; p2.age = 24; //传入对象参数 p1.Speak(); p2.Speak(); //调用类的函数 } } class Person{ int age; void Speak() { System.out.println("我今年"+age+"岁~"); } }

二、类的封装

使用public

有两个问题:

第12行报错:The public type Student must be defined in its own file

于是,我们新建一个Class文件:

没有提示错误了,

再来看第二个问题,一个学生的年纪是128,这多半是错了。我们不想要任何一个人随意在main里胡乱修改年纪,于是乎,我们用private

提示:我目前的理解是private设置的不是不可以改,只是改起来要麻烦一点,就像小区的大门,以前没有门,现在弄个门,外人一样可以进来,只是麻烦一点

class Student{ private String name;//将name属性私有化 private int age; //getName()方法用于获取name属性的值 public String getName() { return name; } //setName()方法用于设置name属性的值 public void setName(String stuName) { name = stuName; } //同理 public int getAge() { return age; } public void setAge(int stuAge) { if(stuAge<=0 && stuAge>=100) { System.out.println("请确认您所输入的年龄"); }else { age = stuAge; } } public void introduce() { System.out.println("我叫"+name+"今年"+age+"岁~"); } } //不用public 就可以放在同一个文件内 public class Example01 { public static void main(String[] args) { Student stu = new Student(); stu.setAge(18); stu.setName("阿瑶"); stu.introduce(); } }

 

转载请注明原文地址: https://www.6miu.com/read-5029003.html

最新回复(0)