Java语言程序设计 类和对象(抽象类与抽象方法、代码块)

一、抽象类:

1.随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保持父类和子类能够共享特征,有时将一个父类设计的非常抽象,以至于它没有具体的实例,这样的类叫做抽象类
2.关键字 abstract
 abstract:抽象的
 abstract可以用来修饰的结构:类、方法
 3.abstract修饰类:抽象类
          >当我们用abstract修饰类时,此类不能实例化
         >抽象类中一定有构造器,便于子类对象实例化的时候调用
         >开发中,都会提供抽象类的子类,让子类对象实例化,完成相关操作
 4. abstract修饰方法:
          >抽象方法只有方法的声明,没有方法体
         >包含抽象方法的类一定是抽象类。反之,抽象类中不一定有抽象方法
          >若子类重写了父类中所有的抽象方法之后,此子类方可实例化
 5 注意:
          5.1.abstract不能用来修饰:属性、构造器等结构
          5.2.abstract不能用来修饰私有方法、静态方法、final的方法、final的类


public class Abstract {
	public static void main(String[] args) 
	{

		Person1 p = new Person1() 
		{

			@Override
			public void run() {
				// TODO 自动生成的方法存根
				
			}
			
		};
	}

}
class Worker
{
	public void Work(Person1 p) 
	{
		
	}
	public void run() 
	{
		
	}
}
class pp
{
	
}
abstract class Person1
{
	String name;
	int age;
	public Person1() 
	{
		
	}
	public void eat() 
	{
		System.out.println("人吃饭");
		System.out.println("人走路");
	}
	//抽象方法
	public abstract void run();
}
abstract class Student extends Person1
{
	public Student(String name,int age) 
	{
		
	}
	
}


  
二、代码块


 1.代码块的作用:用来初始化类或者是对象
  2.代码块如果有修饰的话,只能使用static
 3.分类:静态代码块vs非静态代码块
  4.静态代码块
         >内部可以有输出语句
         >随着类的加载而执行,而且只执行一次
         >作用:初始化类的信息


 5.非静态代码块
         >内部可以有输出语句
         >随着对象的加载而执行
         >每创建一个对象,就执行一次非静态代码块
         >作用:可以在创建对象时,对对象的属性等进行初始化

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

差劲的厉害了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值