面向对象——类和对象、构造函数

一:定义

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,是对所具有相同特征实体的抽象

二:类的创建

使用关键字class

访问修饰符(public|private|protected|默认) class 类名称{
    			}

注意事项
1.一个文件可以有多个类,但是public只能修饰具有与文件名相同类名称的类
2.mian()函数也只能写在public修饰的类中
3.一般将java代码,写在一个Xxx.java文件,这个文件就是一个类

类的属性及方法
class Person{
	// 静态的特征(属性)
	[访问修饰符] String name;
	[访问修饰符] int age;
	[访问修饰符] String email;
	[访问修饰符] String tel;
	[访问修饰符] double height;
	[访问修饰符] double weight;
	
	// 动态的行为(函数)方法
	public void 行为名称() {
	
	}

对象

定义

对象是类的一个具体的个体,它是实际存在的。类是对象的集合,对象是类的实例。
比如,张三是人这个类的一个对象。而且还有很多人。

对象的创建
类型 对象名称 = new 类型名称();
 Stack newstack  = new Stack();
对象对属性和方法的调用

对属性赋值:对象名.属性名=值;
取属性值:对象名.属性名
对象名.方法名(参数)

Eg:

import java.util.Scanner;
public class Text {

	public static void main(String[] args) {
		Scanner sc1=new Scanner(System.in);
		System.out.println("请输入圆半径:");
		double r= sc1.nextDouble();
		Circle c1=new Circle();
		c1.radius=r;
		System.out.println("圆的面积"+c1.Area());
		System.out.println("圆的周长"+c1.Cal());
			}
		}
	public class Circle {
		
		double radius;
		public double Area() {
			return Math.PI*radius*radius;
		}
		
		public double Cal() {
			return 2*Math.PI*radius;
		}
	}

构造函数

定义

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

创建构造函数及其特点
权限修饰符  构造函数名 (参数列表) { 
            语句;
  }

特点

1.构造函数没有返回值类型。也不需要写返回值。因为其是为构建对象的,对象创建完,函数就执行结束。
2.构造函数名称必须和类名称保持一致。
3.构造函数不能用void修饰. 如果给构造函数添加了返回值类型,那么这将使这个构造函数变成一个普通的方法。
4.构造方法可以重载,以参数的个数,类型,顺序
5.在java中,当我们定义了一个类之后,如果没有定义构造方法,则JVM在运行时会自动生成一个无参的构造,如果我们定义了构造方法,则不会再生成无参构造
6.用于创建对象,不可被对象调用

this关键字调用构造函数

1.this代表的是对象,哪个对象调用了this所在的函 数,this就代表哪个对象。
2.调用其他构造函数的语句必须定义在构造函数的第一行,原因是初始化动作要最先执行。
3.构造函数之间禁止出现相互调用的情况

Eg:

public class Circle {
		
	double radius;
	public Circle(){
		System.out.print("250");
	}
	public Circle(int i) {
		this();
		this.radius = i;
	}
	public double Area() {
		return Math.PI*radius*radius;
	}
	
	public double Cal() {
		return 2*Math.PI*radius;
	}
}
public class Text {

	public static void main(String[] args) {
		int i=10;
		Circl c1=new Circl(i);
		System.out.println("圆的面积"+c1.Area());
		System.out.println("圆的周长"+c1.Cal());
		}
	}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值