网站开发经验总结昭通学院教务管理系统
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:35
当前位置: 首页 > news >正文
网站开发经验总结,昭通学院教务管理系统,网站建设要达到什么水平,做网站推销话术个人主页#xff08;找往期文章包括但不限于本期文章中不懂的知识点#xff09;#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录
面向对象的初步认知
面向对象与面向过程的区别
类的定义和使用
类的定义格式
类的实例化
this引用
什么是this引用#xff1f;
this引用… 个人主页找往期文章包括但不限于本期文章中不懂的知识点我要学编程(ಥ_ಥ)-CSDN博客 目录
面向对象的初步认知
面向对象与面向过程的区别
类的定义和使用
类的定义格式
类的实例化
this引用
什么是this引用
this引用的特性
对象的构造及初始化
如何初始化对象的成员变量
构造方法 本期我们就来学习面向对象。
面向对象的初步认知
Java是一门纯面向对象的语言(Object Oriented Program简称OOP)在面向对象的世界里一切皆为对象。面向对象是解决问题的一种思想主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序更符合人们对事物的认知对于大型程序的设计、扩展以及维护都非常友好。
面向对象与面向过程的区别
面向过程注重的是过程面向对象注重的是对象。
例如我们要吃饭了。首先得找一个饭馆子再点菜最后再吃饭。
如果是面向过程的话就需要关注这些过程找饭馆子的过程点菜吃饭。
如果是面向对象的话就需要关注这些对象我们自己饭馆子菜。不需要关注过程了。
从这里就可以简单看出对象比过程要简单。
注意面向过程和面相对象并不是一门语言而是解决问题的方法没有那个好坏之分都有其专门的应用场景。
类的定义和使用
类是用来描述对象的。
例如一个学生就是一个对象Java中一切皆对象我们现在如果想要来描述这个学生的话就得用类来描述。
类的定义格式 //class为定义类的关键字ClassName为类的名字{}中为类的主体。
//类中包含的内容称为类的成员。属性主要是用来描述类的称之为类的成员属性或者类成员变量。
//方法主要说明类具有哪些功能称为类的成员方法。// 创建类
class ClassName{field; // 字段(属性) 或者 成员变量 定义再类当中方法外部的变量method; // 行为 或者 成员方法
} 成员变量分为两种一种是普通成员变量一种是静态成员变量。
普通成员变量public int age; 静态成员变量public static int age;
成员方法也分为两种一种是普通成员方法一种是静态成员方法。
普通成员方法public void func() 静态成员方法public static void func()
我们现在就来描述一个学生对象。
class Student {public String name;//名字public int age;//年龄public void func(){System.out.println(姓名name 年龄age);}
}
注意事项类名注意采用大驼峰。定义成员前写法统一为public后面会详细解释。此处写的方法不带 static 关键字后面会详细解释。
练习定义一个类狗
class Dog{public String name;//名字public int age;//年龄public void func(){System.out.println(name :汪汪汪~~~);}
}
注意事项 1. 一般一个文件当中只定义一个类推荐虽然可以定义多个类但是只能有一个类被public 修饰。 2. main方法所在的类一般不是绝对如下图1所示要使用public修饰。(注意Eclipse默认会在public修饰的类中找main方法) 3. public修饰的类必须要和文件名相同 4. 不要轻易去修改public修饰的类的名称如果要修改通过开发工具修改如下图2所示。 5. 每一个类都会生成一个对应的字节码文件如下图3。 图1
图2 当只有一个类时就可以修改成功。 当有多个类时就会修改失败。
修改同上步骤但修改的结果不同。 图3
在……out / production ……目录下。
下面是怎么查看的视频
JavaSE篇类和对象上怎么查看字节码文件-CSDN直播 类的实例化
我们在定义了一个类的同时就相当于创建了一种新的类型。和intchar一样只不过intchar这些是Java的内置类型而类是用户自定义的类型。既然创建了类型我们就肯定会用这个类型来定义变量。举个简单的例子我们拿到int类型就可以使用int类型来创建一个变量 int a 0; 同样这个类也是可以这样的我们把用类定义一个变量的过程称为类的实例化我们更喜欢说是用类创建对象的过程。
public class Test {public static void main(String[] args) {//java中使用new关键字来配合类名实例化对象Student student new Student();//通过new来实例化对象//通过 . 来访问类的属性和方法功能student.name 张三;student.age 18;student.func();}
}//创建一个类
class Student{//属性String name;int age;//功能方法public void func(){System.out.println(姓名name 年龄age);}
}
注意一个类可以实例化多个对象。
可能会有小伙伴发现类有点像我们C语言学过的结构体。没错这个类和结构体是非常类似的。
this引用
public class Test{public static void main(String[] args) {//实例化三个对象Date date1 new Date();Date date2 new Date();Date date3 new Date();//设置时间date1.SetDate(2024,3,25);date2.SetDate(2024,3,26);date3.SetDate(2024,3,27);//打印结果看看是否设置成功date1.PrintDate();date2.PrintDate();date3.PrintDate();}
}class Date{//属性public int year;public int month;public int day;//方法public void SetDate(int y, int m, int d){year y;month m;day d;}public void PrintDate(){System.out.println(year/month/day);}} 上面是最终的打印结果由此可知我们设置的时间是对的。
但是又有一些新的问题
- 如果我们在设置时间的方法的参数也是year month day 那就会发生一些错误打印的结果是全部是0如下图所示 这是什么原因造成的呢其实我们在C语言阶段已经学习过了当全局变量与局部变量的变量名一样时全局变量会被屏蔽遵循局部变量优先原则 同样Java中也是如此这里的yearmonthday都是局部变量那么也就是局部变量给局部变量赋值因此得不到我们想要的结果为什么是0呢后面会有解释。
- PrintDate方法怎么知道自己要打印谁的值呢其实这个是比较好解释的因为前面有 对象. 来说明是在哪个对象下调用这个方法。 上述的所有问题都可以用 this 来解决。我们首先来说第二点其实上面那个解释是没问题的但如果我们用更底层的知识来解释的话就是用this引用来解释。 什么是this引用 this引用指向当前对象(成员方法运行时调用该成员方法的对象)在成员方法中所有成员变量的操作都是通过该引用去访问。 那上面的代码我们就可以改成下面 public class Test{public static void main(String[] args) {//实例化三个对象Date date1 new Date();Date date2 new Date();Date date3 new Date();//设置时间date1.SetDate(2024,3,25);date2.SetDate(2024,3,26);date3.SetDate(2024,3,27);//打印结果看看是否设置成功date1.PrintDate();date2.PrintDate();date3.PrintDate();} }class Date{//属性public int year;public int month;public int day;//方法public void SetDate(int year, int month, int day){//这个也就声明了是当前对象this.year year;this.month month;this.day day;}public void PrintDate(){//即使能够识别我们也要加上thisSystem.out.println(this.year/this.month/this.day);}}注意this引用指向的是调用成员方法的对象 。 this引用的特性
- this的类型对应类的类型引用即哪个对象调用就是哪个对象的引用类型谁调用this所在的方法this就指向谁。
- this只能在成员方法中使用。
- 在成员方法中this只能引用当前对象不能再引用其他对象。
- this是“成员方法”第一个隐藏的参数编译器会自动传递在成员方法执行时编译器会负责将调用成员方法的对象的引用传递给该成员方法this负责来接收。 因此我们以后调用成员方法或者成员变量时都应该加上this。 对象的构造及初始化 如何初始化对象的成员变量 通过前面知识点的学习我们知道在Java方法内部定义一个局部变量时必须要初始化否则会编译失败但是我们用类创建的对象不初始化竟然不会报错如下图。 这就是默认初始化。 Date d new Date(2021,6,9); 在程序层面只是简单的一条语句在JVM层面需要做好多事情下面简单介绍下
- 检测对象对应的类是否加载了如果没有加载则加载。
- 为对象分配内存空间。
- 处理并发安全问题 比如多个线程同时申请对象JVM要保证给对象分配的空间不冲突。
- 初始化所分配的空间 即对象空间被申请好之后对象中包含的成员已经设置好了初始值。根据不同的类型会默认初始化不同的值如下表。 数据类型默认值byte0char\u0000short0int0long0Lbooleanfalsefloat0.0fdouble0.0referencenull 如果我们想重新初始化时初始化的方式就是 . 成员变量 再赋值就可以了。还有一种初始化就是在创建成员变量时就直接给予初始值这种初始化叫就地初始化。下面就是就地初始化 构造方法 构造方法(也称为构造器)是一个特殊的成员方法名字必须与类名相同没有返回值类型即使是void也不行。在创建对象时由编译器自动调用并且在整个对象的生命周期内只调用一次。同样构造方法也可以对我们创建的对象进行初始化。那怎么调用这个方法呢如下图所示 由此可见当我们实例化一个对象的时候就自动地调用了这个构造方法。 那又有一个新的问题来了当我们没有写构造方法的时候但是我们依旧实例化了一个对象啊那也会调用构造方法吗没错当我们没有提供任何构造方法时编译器会自动给我们提供一个不带参数的构造方法一旦我们自己写了构造方法之后编译器就不再提供了。 注意1. 构造方法是可以被重载的。 2. 只有当调用完构造方法之后对象才算被被创建成功了。 3.在构造方法中可以通过this来调用其它构造方法。 这个this来调用其它构造方法的时候有一些限制条件1this这条语句必须是在调用这条语句的构造方法的有效代码的第一行。 2 不能形成循环。
- 绝大多数情况下使用public来修饰特殊场景下会被private修饰后面会学习到 使用IDEA快速生成构造方法的步骤 下面是详细视频 https://live.csdn.net/v/374793?spm1001.2014.3001.5501 好啦本期JavaSE类和对象上的学习就到此结束啦我们下一期再一起学习吧
- 上一篇: 网站开发经验教训公众号开发源码
- 下一篇: 网站开发静态和动态苏州基础网站建设
相关文章
-
网站开发经验教训公众号开发源码
网站开发经验教训公众号开发源码
- 技术栈
- 2026年03月21日
-
网站开发经典个人网页设计实验报告
网站开发经典个人网页设计实验报告
- 技术栈
- 2026年03月21日
-
网站开发进度设计与阶段目标wordpress怎么导出
网站开发进度设计与阶段目标wordpress怎么导出
- 技术栈
- 2026年03月21日
-
网站开发静态和动态苏州基础网站建设
网站开发静态和动态苏州基础网站建设
- 技术栈
- 2026年03月21日
-
网站开发具体问题wordpress时间
网站开发具体问题wordpress时间
- 技术栈
- 2026年03月21日
-
网站开发开发公司排名做准考证的网站
网站开发开发公司排名做准考证的网站
- 技术栈
- 2026年03月21日






