java项目启动 类与对象

java项目启动 类与对象

java小白的第一篇深夜csdn 没人看 写给我自己 类与对象 start

传统认知的类

每当我们做什么事情的时候 很习惯的将事情归类 也有各种各样的分类方式,比如:事件的紧急程度,事件的性质,对事情的感兴趣的程度 等等等 我们倾向于 给不同的类贴上不同的标签,分类的方法,类的内容,全看个人,没有准确的定义与边界。但是在编程世界中,类与类之间有明确的划分,不同的方法类也不同。编程世界是将感性的世界用理性010101表达出来,更像数学。

编程世界中的类

  • 下面是百度中搜索出来的类的定义
    类的定义:类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

  • 举个例子吧:学生可以单独做一个类进行封装,老师也可以作为一个类进行封装,但是具体哪一个学生的成绩不可作为类进行封装,可以看作给某个特定的群体开辟了一个空间,用来储存他们,不被外界所打扰。

传统认知的对象

  • 对象,顾名思义,行动或思考时作为目标的事物。比如,一个猎人要去打猎,他的猎物就是他今天行动的对象。对象,一般指具体的事物,具体的你相中的事物,比如,你看上的某个色号的口红,这个口红就是你要购买的对象(当然,这里不提你男朋友 = 你对象这件事情)。

编程世界中的类

  • 百度定义的对象
    对象的定义:对象是具有类类型的变量。

-对象,我刚接触编程时,觉得你定义了一个学生类,学生类里面定义int age,int grade这些就是对象。后面越写越有了另一种体会,类是对对象的封装,不同的对象对应于不同的类,对象还是占内存的,不同的对象还对应不同定义方式。具体的说吧,某个对象时独属于某个类的对象,可以调用,可以用来实现某些功能。类将对象封装起来。这些类中对于某个对象的定义描述了这个对象身上的属性。

类与对象
类可能是抽象,而对象是类的具体实例。类,不占用内存,对象,占用存储空间。类是用于创建对象的框架,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。
软件对象也是有状态和行为,同类中不同的对象的状态会不同,通过属性来体现,行为也会不同通过方法来体现。化而言之,就是找寻同类事物中的共有属性,共有的行事逻辑来对一件事情进行描述

在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。

JAVA中类与对象的创建

public class Dog{
  String breed;
  int age;
  String color;
  void barking(){
  }
 
  void hungry(){
  }
 
  void sleeping(){
  }
}

上面的一段代码是java中类与对象的创建
Dog – 类名
age color这些是狗的属性
barking hungry sleeping 这些是狗的行为 也称方法 我更喜欢叫他们调用函数(毕竟我是先学的c++ java有点直男了) 写了一个函数

int sleeping(int hours){
int sleepinghours = hours;
return sleepinghours;
}

这个函数的意思是 狗在睡觉 传入进去的是狗的睡眠时间 返回的值就是狗子的睡眠时间。

类与对象中的变量

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。比如:狗狗睡觉时间那个方法中(叫函数不香么,非要叫方法),sleepinghours就是局部变量。

  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。(比如age,color就是成员变量)

  • 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

PS:成员变量和类变量的区别
成员变量和类变量的区别:

1、两个变量的生命周期不同

成员变量随着对象的创建而存在,随着对象的回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

3、别名不同

成员变量也称为实例变量。

静态变量也称为类变量。

4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

class Person{       

//成员变量,实例变量       

String name;       

//静态变量,类变量,所有对象共享的属性用static修饰       

static String country = "CN";       

public void show(){            

System. out.println(country + ":" + name); }}

class StaticDemo{       

public static void main(String[]args){            

Personp = new Person();            

System. out.println(p.country);             //可以用类名直接调用            

System. out.println(Person.country);      }} //两个类都可以调用country这个变量 看懂了吗?

(来自百度知道,觉得写得好直接copy了)

构造方法

  • 每个类都有构造方法。如果没有定义构造方法,Java 编译器将会为该类提供一个默认构造方法。(没有敲过好多行代码时候不要轻易写构造方法,默认就行了,要不然老报错,烦死了)。
  • 在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。不用构造方法要求传进参数不同,不同构造方法构造的对象也不同。

下面是一个构造方法示例:

public class Puppy{
    public Puppy(){
    }
 
    public Puppy(String name){
        // 这个构造器仅有一个参数:name
    }
}

创建对象

对象是根据类创建的。在Java中,当你写好一个类时,需要创建关于这个类的对象时,就要创建对象,创建对象需要需要以下三步:

声明:声明一个对象,包括对象名称和对象类型。(类名+对象名)
实例化:使用关键字 new 来创建一个对象。(new一下+构造方法)
初始化:使用 new 创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子:

public class Puppy{
   public Puppy(String name){
      //这个构造器仅有一个参数:name
      System.out.println("小狗的名字是 : " + name ); 
   }
   public static void main(String[] args){
      // 下面的语句将创建一个Puppy对象
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

编译并运行上面的程序,会打印出下面的结果:

小狗的名字是 : tommy

晚安!!!!下次写:继承派生
下下次写:接口 监听器

无限期拖更,不要期待!!!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在 Java 项目启动时将对象创建并放入 Spring 容器中,可以使用 Spring 提供的 `BeanFactoryPostProcessor` 接口。 `BeanFactoryPostProcessor` 接口是 Spring 的扩展接口之一,用于在 Spring 容器实例化 Bean 之前修改 Bean 的定义信息,包括 Bean 的属性值、构造函数参数等。通过实现该接口,我们可以在 Spring 容器启动时,将需要创建的对象动态地放入容器中。 下面是一个示例代码,演示如何使用 `BeanFactoryPostProcessor` 接口将一个对象放入 Spring 容器中: 1. 创建一个实现 `BeanFactoryPostProcessor` 接口的类,例如 UserBeanFactoryPostProcessor。 ```java public class UserBeanFactoryPostProcessor implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { // 创建 User 对象 User user = new User(); user.setName("Tom"); user.setAge(18); // 将 User 对象注册到 Spring 容器中 beanFactory.registerSingleton("user", user); } } ``` 在 `postProcessBeanFactory` 方法中,我们创建了一个 User 对象,并将其注册到 Spring 容器中。 2. 在 Spring 的配置文件中配置 UserBeanFactoryPostProcessor。 ```xml <bean class="com.example.UserBeanFactoryPostProcessor" /> ``` 这样,在 Spring 容器启动时,就会自动执行 `UserBeanFactoryPostProcessor` 类中的 `postProcessBeanFactory` 方法,并将 User 对象放入容器中。 需要注意的是,使用 `BeanFactoryPostProcessor` 接口将对象放入容器时,需要手动设置对象的属性值,例如上面示例中的 User 对象的 name 和 age 属性。如果需要动态地设置属性值,可以使用 `BeanPostProcessor` 接口或者使用 Spring 的注解方式来创建 Bean。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值