类与对象简介

/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*vx:it_daimeng
*/

1、什么是类

        类是构造对象的模板与蓝图。所有的代码都将包含在类当中。

2、什么是对象

        对象是像数据结构一样具有状态和行为的容器。在一个类中可以构造多个对象。

3、类的关键词

        类的关键词是:class。

4、类的基本构造

public class Aclass{


}

在声明一个类的时候可以有0个或多个修饰符。类的标识符也就是我们通常说的类名,其应该是一个有效的通俗易懂的单词。类当中的组件完全由用户自定义,通常是由数据域、方法组成。

案例

public class Person {
	//属性  成员变量:在类里面 方法外面定义  并且不加static修饰符  创建对象以后 才会分配内存空间  并且每个对象都有自己的一份成员变量
	//成员变量定义好以后 有默认值  String null int  0  char ''  float 0.0  boolean false 
	String name;	
	int age;	
	char sex;	
	float h;
	//每个类会有一个默认的构造函数,但如果自己定义了构造函数 则默认的构造函数会被覆盖  
	//特点:构造函数没有返回类型的
	//    构造函数的名字和类名相同
	//     可以有多个构造函数	
	//     构造函数是在new关键字后调用的 不能用对象名调用
	public Person() {
		// TODO Auto-generated constructor stub
		System.out.println("55555");
	}	
	//构造函数的重载:  方法名相同 参数列表不同  参数列表不同:参数个数不同或参数类型不同
	public Person(String name,int age,char sex,float h)
	{
		//在类内部访问成员变量的时候 用this this:指的是当前对象
	    this.name=name;
	    this.age=age;
	    this.sex=sex;
	    this.h=h;
	}
	//构造函数如果传参 一般是用来给成员变量赋初始值的
	public Person(String name)
	{
		this.name=name;
	}
	
	//行为  成员方法  在类内部定义 不加static的方法  创建对象以后 才会分配地址空间
	//在类外 访问成员变量和成员方法的时候 需要用对象名来访问
	void eat()
	{
		System.out.println("吃饭");
	}
	
	//函数可以传递参数 
	void eat(String food)
	{
		System.out.println(this.name+"吃"+food);
	}
	
	void sleep()
	{
		System.out.println("睡觉");
	}
	
	void dadoudou()
	{
		System.out.println("打豆豆");
	}	
	

}

5、类的之间的关系

        依赖

                uses a

                依赖的目的是为了降低类与类之间的耦合度。

        聚合

                has a

                其表现为引用类来使用。

        继承

                is a

                作用:消除代码冗余。

                特点:关系的紧密性,如父子关系。

package next.overrideinextendsplus;
public abstract class Person {
private String name;
abstract String getTitle();
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
class Teacher extends Person {
private final String title = "教师";
@Override
String getTitle() {
return this.title;
}
}
class Student extends Person {
private final String title = "学生";
@Override
String getTitle() {
return this.title;
}
}
class Doctor extends Person {
private final String title = "医生";
@Override
String getTitle() {
return this.title;
}
}
class PersonOutput {
public static void main(String[] args) {
System.out.println(new Teacher().getTitle() + "\t" +
new Student().getTitle() + "\t" +
new Doctor().getTitle());
}
}

6、创建对象的模板

        1、数据域/字段

                我们通常把在类当中定义的字段或者全局变量称之为对象的属性或者状态属性。

public class Student{
  private int Id;
  private String name;
  private String age;
}

        2 、方法

                方法是由一组Java语句构成的,方法的主要作用是描述对象的行为,也可用来修改字段状态以及调用其他对象方法。

public class Student{
  private int Id;
  private String name;
  private String age;
  public void learning(){
    System.out.println("我在学习!!")
  }
}

        3、构造器

        构造器又称构造函数是一个命名与类名一样的代码块,主要用于创建对象后初始化类的对象。与方法不同,构造函数没有返回值。

/*空载和满载*/
    public Student() {
    }
    public Student(int ID, String name, int age, int classname) {
        this.ID = ID;
        this.name = name;
        this.age = age;
        Classname = classname;
    } 

4、初始化块

又称实例初始化器,用来初始化类的对象。

初始化块是在构造器执行之前调用执行的。

public class Test{
	{
System.out.println("123");
	}

	public Test(){
	System.out.println("456");

	}
}

5、静态块

静态块也称静态初始化器,和初始化块类似,它仅仅用于初始化一个类。实例初始化器对每个对象执行一次,而静态初始化器仅在类定义加载到JVM时为类执行一次。静态块在初始化程序执行之前执行。

public class Test{
	static{
System.out.println("123");
	}

	public Test(){
	System.out.println("456");

	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
c 类与对象课程设计的主要目的是通过运用所学的C面向对象程序设计理论知识,使用类和对象的概念来设计一个特定的系统或应用程序。这个课程设计的具体内容和功能可能因项目而异。举例来说,一个图书借阅系统的课程设计可以通过使用类和对象来设计图书管理员管理读者账户和图书的功能。另外,一个自助点餐系统的课程设计可以通过使用类和对象来实现点餐功能和处理订单的能力。总之,c 类与对象课程设计是通过实际项目来训练学生综合运用所学知识处理实际问题的能力,并加强面向对象的程序设计理念。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [超详细Java入门到精通自学视频课程-01、面向对象进阶简介.rar](https://download.csdn.net/download/weixin_54787054/88280673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [C++面向对象程序设计课程设计-图书借阅系统](https://download.csdn.net/download/qq_57987156/85513646)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [C++面向对象课程设计_自助点餐系统.zip](https://download.csdn.net/download/weixin_48388330/75698721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值