Java 面向对象基础

张开发
2026/4/17 6:10:15 15 分钟阅读

分享文章

Java 面向对象基础
1. 什么是面向对象对象:将零散的数据整合起来成为一个整体, 这个整体即对象, 即把相关数据和方法组织为一个整体来看待面向对象:利用对象进行软件开发JavaBean类:用来描述一类事物的(属性/行为)2. 类和对象2.1 类的定义类的组成是由属性和行为两部分组成属性在类中通过成员变量来体现类中方法外的变量行为在类中通过成员方法来体现和前面的方法相比去掉static关键字即可类的定义步骤①定义类②编写类的成员变量③编写类的成员方法publicclass类名{// 成员变量变量1的数据类型 变量1 变量2的数据类型 变量2;…// 成员方法方法1;方法2;}2.2 对象的使用创建对象的格式类名 对象名 new 类名();调用成员的格式对象名.成员变量对象名.成员方法();创建对象 格式类名 对象名new类名();范例PhonepnewPhone();​ 使用对象1使用成员变量 格式对象名.变量名 范例p.brand2使用成员方法 格式对象名.方法名()范例p.call()3. 面向对象的小细节描述一类事物的类叫JavaBean类带有main方法的类叫测试类JavaBean类可以写属性和行为4. 面向对象中的数据安全问题4.1 privat关键字private - 私有权限修饰符, 可以修饰成员变量和成员方法特点:被privat修饰后, 只能在本类中才能访问, 外界无法访问私有化成员变量每个变量都要有set(设置)/get(得值) 方法,用public修饰4.2 this关键字this修饰的变量用于指代成员变量其主要作用是区分局部变量和成员变量的重名问题方法的形参如果与成员变量同名不带this修饰的变量指的是形参而不是成员变量方法的形参没有与成员变量同名不带this修饰的变量指的是成员变量publicclassStudent{privateStringname;privateintage;​publicvoidsetName(Stringname){this.namename;}​publicStringgetName(){returnname;}​publicvoidsetAge(intage){this.ageage;}​publicintgetAge(){returnage;}​publicvoidshow(){System.out.println(name,age);}}就近原则:在方法中直接使用变量查找顺序, 先找局部变量, 再找成员变量5. 构造方法构造方法是一种特殊的方法作用创建对象 Student stu new Student();格式public class 类名{修饰符 类名( 参数 ) {}}功能主要是完成对象数据的初始化特点:方法名与类名相同, 大小写也一致没有返回值类型, void也没有没有具体返回值(不能用return带回数据结果)执行时机:创建对象的时候由虚拟机调用, 不能手动调用构造方法每创建一次对象, 就会调用一次构造方法eg:packageoop.ooptext6;publicclassStudent{//属性: 姓名, 年龄, 性别, 身高privateStringname;privateintage;privateStringgender;privatedoubleheight;//构造方法//习惯: 1.空参 2. 带全部参数的构造方法publicStudent(){System.out.println(空参构造方法被调用);}publicStudent(Stringname,intage,Stringgender,doubleheight){this.namename;this.ageage;this.gendergender;this.heightheight;System.out.println(带全部参数的构造方法被调用);}}packageoop.ooptext6;publicclassText{publicstaticvoidmain(String[]args){//创建对象StudentsnewStudent(张三,23,男,175);}}构造方法的注意事项若无定义构造方法, 系统将给出一个默认无参数构造方法若写了任意构造方法, 系统将不再提供默认的构造方法带参数的构造方法与无参数构造方法, 方法名相同, 但参数不同, 这便是构造方法的重载习惯: 无论使用与否, 都将手动书写无参数的构造方法, 和带全部参数的构造方法6. 总结publicclass类名{私有化变量 无参构造 带全部参数的构造 get/set方法...}tip: 自动生成构造方法/set/get快捷键: Altinsert / AltFnDeleg:packageoop.opptext10;publicclassStudent{//属性:姓名, 年龄privateStringname;privateintage;//构造方法publicStudent(){}publicStudent(Stringname,intage){this.namename;this.ageage;}//get/setpublicStringgetName(){returnname;}publicvoidsetName(Stringname){this.namename;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.ageage;}//行为: 学习, 吃饭, 睡觉publicvoidstudy(){System.out.println(name在学习);}publicvoideat(){System.out.println(name在吃饭);}publicvoidsleep(){System.out.println(name在睡觉);}}packageoop.opptext10;publicclassText{publicstaticvoidmain(String[]args){StudentsnewStudent(张三,18);s.study();s.eat();s.sleep();}}

更多文章