爪哇的学习(类和对象)

类的定义

具有相同或相类似属性的一种集合体,是抽象的看不见摸不着的

通过类可以创建对象

语法格式

class 类名{
    //    特征1
    //    特征2
    
    //    行为1
    //    行为2
}

对象

对象是真实存在的具有多个属性值

一个类可以创建多个对象

一组对象或是一个对象抽象成一个类

使用new关键字创建一个或一组对象。

封装

将属性私有化,私有化的属性不能被其他类来访问和使用

同时又提供了公有的setter方法来给该私有属性设置值

在方法内部可以编写过滤和屏蔽代码,使得非法值无法进行赋值操作

方法相对于属性而言,可以编写额外的过滤代码,使得数据合法

优点:

提高程序的安全性

缺点:

代码量过大

eg:创建一个Student类,并将属性封装


public class Student {
	//封装属性
	private String name;
	private int age;
	private String address;
	private String zipCode;
	private String mobile;
	public void setName(String name){
		this.name = name;
	}
	
	public void setAge(int age){
		this.age = age;
	}
	public void setAddress(String address){
		this.address = address;
	}
	public void setZipCode(String zipCode){
		this.zipCode = zipCode;
	}
	public void setMobile(String mobile){
		this.mobile= mobile;
	}
	public String getPostAddress(){
		return "address:\t" + address + "\nzipCode\t" +zipCode; 
	
	}
	}

创建一个对象叫小明,从Student中调用属性

public class xiaoming {public static void main(String[] args) {
	Student s = new Student();
	
	s.setName("xiaoming");
	s.setAge(13);
	s.setAddress("xian");
	s.setZipCode("723200");
	s.setMobile("54264723467");
	
	System.out.println(s.getPostAddress());
	
}

}

继承

理解(子承父业)

其中子类可以使用父类所定义的所有非私有的方法

使用extends关键字来表明前面的类是后面类的子类。

使用super关键字来调用父类中直接定义好的属性和方法。

eg:父类(其中定义了圆的半径,矩形的长宽,而且定义了算圆和矩形周长和面积的方法)

public class Shape {
	 private double banjing;
	 int chang;
	 int kuan;
    public void setR(double bangjing) {
		this.banjing=bangjing;
	}
	
	public void zhouchang1(){
		double c;
		c=Math.PI*2*banjing;
		System.out.println("圆的周长:" + c);
	}	
	public void mianji1(){
		double s;
		s=Math.PI*banjing*banjing;
		System.out.println("圆的面积:" + s);
		
	}
	
		public  void zhouchang2(){
			int c;
			c=2*(chang + kuan);
			System.out.println("周长是:" + c);
		}
		public void mianji2(){
			int s;
			s=chang*kuan;
			System.out.println("面积是:" + s);
		}
}

子类:圆(通过super关键字直接调用算圆周长和面积的方法)

public class Circle extends Shape{
	
	public void zhouchang1(){
		super.zhouchang1();
		}
	public void mianji(){
		super.mianji1();
		}	

}

子类:矩形(调用父类中的方法计算周长和面积)

public class Rect extends Shape {
    public void zhouchang2(){
		super.zhouchang2();
		}
	public void mianji(){
		super.mianji2();
		}
	
}


public class textshape {
	public static void main(String[] args) {
		
	Circle r =new Circle();
	
	r.setR(3);
	r.zhouchang1();
	r.mianji1();
	
	
	Rect l = new Rect();
	l.chang=6;
	l.kuan=5;
	l.zhouchang2();
	l.mianji2();
}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值