Java Study For Five Day( 面向对象一)

面向对象

  1.面向对象的概念

  2.理解面向对象

    *面向对象其实是相对面向过程而言的,面向对象和面向过程都是一种思想,它们所强调的内容不一样。

    *面向对象:强调的是功能的行为,将功能进行了封装成了对象,强调了具备功能的对象。

    *面向对象是基于面向过程的

  3.类与对象的关系

    人开门:利用名词提炼法

    人{

      开门(门){

        门.开();

      }

     }

    门{

      开(){

        操作门轴等

      }

    }

4.面向对象的三大特征:封装、继承、多态。

以后开发其实就是找对象使用,没有对象就创建一个对象来使用,就像找女朋友一样,没有就自己找个,这里没有对象就自己建一个(当然也是要找适合的)。

找对象,建立对象,使用对象,并维护对象的关系。生活中的对象:张三,王五...

想要描述:提取对象中的共性内容,对具体的抽象。

反射到Java中,描述就是关键字class定义的类,而具体的对象就是对应Java在堆内存中是使用new关键字建立的实体。

类就是对现实生活中事物的描述,而对象就是这类事物实实在在存在的个体。

5.成员变量和局部变量的区别

  1.作用范围:

    成员变量作用于整个类中,局部变量只在某个范围内有效。(一般指的就是方法,语句体内)

  2.在内存中的位置

    成员变量随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中,而局部变量在方法被调用,或者语句被执行的时候存在,存储在栈内存中。

  3.初始值
     成员变量有默认初始值,局部变量没有默认初始值,使用前必须赋值。

6.匿名对象

  匿名对象其实就是对象的简化形式

  使用的两种情况:a.当对对象的方法仅进行一次的调用的时候;b.匿名对像可以作为实际参数进行传递

如果对一个对象进行多个成员调用,必须给这个对象起个名字

需求:汽车修配厂,对汽车进行改装,将来的车都改成黑车,三个轮胎。

 public static void main(String[] args)
 {
    Car q = new Car();
    show(q);
 }

 public static void show(Car c)
 {
    c.num = 3;
    c.color = "black";
    c.run();
 }

封装

  封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。

   好处:将变化隔离;便于使用;提高重用性;提高安全性。

   原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共的方法对其访问

关键字private:封装在代码中的体现
   (1)私有的意思,权限修饰符
   (2)用来修饰成员变量和成员函数
   (3)用private修饰的成员只在本类中有效
   (4)私有是封装的一种体现

 

class Person
{
 private int age;

 

 public void setAge(int a)
 {
  if(a>0 && a<130)

 

     age =a;
  else
     System.out.println("false age");
 }

 

 public int getAge()
 {
    return age;
 }
  void speak()
 {
    System.out.println("age="+age);
 }
}

 

class PersonDemo
{
 public static void main(String[] args)
 {
    Person p = new Person();
    //p.age = 20;//
    p.setAge(20);
    p.speak();
 }
}

构造函数

  特点:

    1.函数名和类名相同

    2.不用定义返回值类型

    3.不用写return语句

  作用:构造函数是用于创建对象,并对其进行初始化赋值,对象一建立就自动调用相对应的构造函数。

  注意:

    1.如果一个自定义类没有构造方法,系统会默认给出一个无参构造方法。

    2.如果一个自定义类提供了构造方法,那么,系统将不再给出无参构造方法,这个时候,你可以不使用无参构造方法,  如果你想使用,那么,就必须手动给出无参构造方法。

  建议:

    一般情况下,我们的自定义类都要手动给出无参构造方法。

class Person1
{
   private String name;
   private int age;
 Person1()
 {
    System.out.println("A:name="+name+",,age="+age);

    cry();
 }
 Person1(String n)
 {
    name = n;
    System.out.println("B:name="+name+",,age="+age);
    cry();
 }
 Person1(String n,int a)
 {
    name = n;
    age = a;
    System.out.println("C:name="+name+",,age="+age);
    cry();
 }
  public void cry()
 {
    System.out.println("cry..........");
 }

}

class PersonDemo2
{
 public static void main(String[]args)
 {
   Person1 p1 = new Person1();
   Person1 p2 = new Person1("lisi");

     Person1 p3 = new Person1("wangwu",10);
 }
}

构造方法和成员方法的区别
    A:格式区别
       构造方法和类名相同,并且没有返回类型,也没有返回值。
       普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
    B:作用区别
       构造方法用于创建对象,并进行初始化值。
       普通成员方法是用于完成特定功能的。
    C:调用区别
       构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数
       普通成员方法是由创建好的对象调用,可以调用多次

构造代码块:

  作用:给对象初始化,对象一建立就执行,而且优先于构造函数执行

和构造函数的区别

  构造代码块是给所有不同对象的共性进行统一初始化
    构造函数是给对应的对象进行初始化构造代码块中定义的不同的对象共性的初始化内容。

this关键字
   (1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁  
   (2)this的使用场景
      A:用于区分同名成员变量和局部变量;
      B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象
      C:构造函数间调用
         这个时候,this(参数)必须作为第一条语句存在。
Person p = new Person();在内存中做了哪些事情。
   (1)将Person.class文件加载进内存中。
   (2)如果p定义在主方法中,那么,就会在栈空间开辟一个变量空间p。
   (3)在堆内存给对象分配空间。
   (4)对对象中的成员进行默认初始化。
   (5)对对象中的成员进行显示初始化。
   (6)调用构造代码块对对象进行初始化。(如果没有就不执行)
   (7)调用构造方法对对象进行初始化。对象初始化完毕。
   (8)将对象的内存地址赋值给p变量,让p变量指向该对象。

内容概要:本文档提供了关于“微型车间生产线的设计与生产数据采集试验研究”的毕业设计复现代码,涵盖从论文结构生成、机械结构设计、PLC控制系统设计、生产数据采集与分析系统、有限元分析、进度管理、文献管理和论文排版系统的完整实现。通过Python代码和API调用,详细展示了各个模块的功能实现和相互协作。例如,利用SolidWorks API设计机械结构,通过PLC控制系统模拟生产流程,使用数据分析工具进行生产数据的采集和异常检测,以及利用进度管理系统规划项目时间表。 适合人群:具有机械工程、自动化控制或计算机编程基础的学生或研究人员,尤其是从事智能制造领域相关工作的人员。 使用场景及目标:①帮助学生或研究人员快速搭建和理解微型车间生产线的设计与实现;②提供完整的代码框架,便于修改和扩展以适应不同的应用场景;③作为教学或科研项目的参考资料,用于学习和研究智能制造技术。 阅读建议:此资源不仅包含详细的代码实现,还涉及多个学科领域的知识,如机械设计、电气控制、数据分析等。因此,在学习过程中,建议读者结合实际操作,逐步理解每个模块的功能和原理,并尝试调整参数以观察不同设置下的系统表现。同时,可以参考提供的文献资料,深入研究相关理论和技术背景。
本次的学生体质健康信息管理网站,按照用户的角色可以分为教师与学生,后台设置管理员角色来对学生的信息进行管理。,设计如下: 1、后台管理系统 后台管理系统主要是为该系统的管理员提供信息管理服务的系统,具体包括的功能模块如下: (1)管理员信息管理 (2)教师信息管理 (3)学生信息管理 (4)健康信息统计(图形化进行健康,亚健康等学生的信息数量统计) 2、教师角色的功能模块设计 教师角色所需要的功能模块主要包括了如下的些内容: (1)个人资料修改 (2)学生体质健康管理:录入相关数据,包括但不限于身高、体重、肺活量、视力等生理指标以及运动能力、身体成分、骨密度等健康指标,并且设置健康,亚健康状态 (3)学生健康建议:根据体质信息,进行学生健康的建议 (4)健康预警:对健康出问题的学生,进行健康预警 (5)饮食和锻炼情况管理,查看 3、学生角色 学生角色可以通过该信息网站看到个人的基本信息,能够看到教师给与学生的健康建议等,功能模块设计如下: (1)个人资料修改 (2)我的健康建议查看 (3)我的健康预警 (4)饮食和锻炼情况管理,记录平时的饮食和锻炼情况 完整前后端源码,部署后可正常运行! 环境说明 开发语言:Java后端 框架:ssm,mybatis JDK版本:JDK1.8+ 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:eclipse/idea Maven包:Maven3.3+ 部署容器:tomcat7.5+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值