Java 类和对象继承

Posted 钟钟终

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 类和对象继承相关的知识,希望对你有一定的参考价值。

三大特征(封装、继承、多态)

小知识点:
1.boolean是基本类型,但是不能和其他七种类型相互转化

2.接口类可以为数组元素 ???
3.一个普通类实现接口,就要实现接口中所有的抽象方法

4.在一个类内,静态方法不能直接调用非静态方法
5.通过对象名可以访问静态成员。
6.通过类名不能访问实例成员(不加static修饰的成员)

补充:调用和访问两个概念
访问:不需要创建对象
调用:需要创建对象
1:静态方法只能访问静态-------------这里是访问,不是调用,
2:非静态方法可以访问静态,也可以访问非静态-------------这里也是访问,不是调用
3:静态方法可以通过类名.直接被调用,也可以通过对象来被调用-----这里是调用,不是访问
4:而非静态方法只能通过对象来调用-----这里也是调用,不是访问

7.自定义类时不允许定义如下方法public void toString()
8.子类中重写的的访问权限不可以低于父类中的访问权限

9.方法的重载:在同一个类中,出现多个同名方法,参数列表不同,与返回值类型、修饰符无关
10.方法的重写:子类中出现和父类中一模一样的方法(包括返回值类型,方法名,参数列表)11.this代表所在方法当前对象的引用

11.this关键字用于所在方法对当前对象的调用
12.super关键字存在于子类方法中,在子类中默认是访问父类的对象;可以访问父类的属性、函数及构造方法
(pulic>protected>默认>private)

13.引用类型的变量:类,接口,数组,String。若被final修饰,则引用变量引用不可变(地址),但是引用对象的内容可以改变。

14.抽象类型的方法不可以有方法体。
接口必须单独定义在一个类中吗???

  1. 接口要被子类实现;抽象类要被子类继承
  2. 接口中全为公共静态常量;而抽象类中可有不同变量
  3. 接口中全为抽象方法(只有声明);而抽象类中可有普通方法(可有实现)
  4. 接口中不可以有构造函数;而抽象类中可以有构造函数
  5. 接口可以为多实现;而抽象类只能单继承

public class test
	public static void main(String[] args) 
		T t=new T();
		t.fun1();
		t.fun2();
	

class T implements t1

	@Override
	public void fun1() 
		System.out.println("运行fun1");
	
	@Override
	public void fun2() 
		System.out.println("运行fun2");
	


public interface t1 
	int a=101;
	void fun1();
	void fun2();

15.多态问题:向上转型和向下转型


class Parent
	void fun1()
	
		System.out.println("i am parent!");
	

class Son extends Parent
	void fun1()    //重写
		System.out.println("i am son");
	
	void fun2() 
		System.out.println("son!!!");
	

public class test
	
	public static void main(String[] args) 
		Parent p1=new Son(); //向上转型(从右往左看)
		//父类引用指向子类对象,首先检查父类中是否有该方法;如果有,再去调用子类方法
		p1.fun1();
		
		Son p2=(Son)p1; //向下转型,实现子类的独有方法
		p2.fun2();
	



以上是关于Java 类和对象继承的主要内容,如果未能解决你的问题,请参考以下文章

Java 类和对象继承

Java面向对象程序设计(抽象类和接口-----)

Java面向对象程序设计(抽象类和接口-----)

Java面向对象程序设计(抽象类和接口-----)

Javascript 中的类和对象

JAVA——面向对象——抽象类和抽象方法abstract