抽象方法、静态方法

abstract修饰的类为抽象类,抽象类是不能被直接实例化的.
抽象构造函数?
头一次听到这个名词,不知道你是在哪里听说的,可能你把抽象类的构造函数认为成抽象构造函数吧.
构造函数是什么,类实例化时的构造过程.抽象类可以有构造函数.
抽象静态方法?
这个词也是头一次听到,这个词也是你创造的吧.
你充分认识抽象方法,和静态方法之后,就会认为根本不会存在抽象静态方法.
抽象方法是干什么的?专用于继承类来实现的.
静态方法是什么?
大家知道对象有两种,一种是实例对象,一种是静态对象
一个类可以有多个实例对象,但只有一个静态对象.也就是类本身
类是可以被继承的.但他的静态对象只有一个,不能被继承,他的静态方法就更不可能被继承.
所以,抽象方法是需要继承来实现,而静态方法根本不能被继承,两者互相矛盾.
所以,根本就不存在抽象静态方法.

时间: 2024-10-07 20:46:28

抽象方法、静态方法的相关文章

PA教材提纲 TAW12-1

Unit1 Introduction to Object-Oriented Programming(面向对象编程介绍) 1.1 Explaining the Object-Oriented Programming Model(解释面向对象编程) 编程语言发展史: 最早的语言是面向过程语言( procedural programming ): COBOL 差不多同时出现了面向对象( object-oriented programming )和面向逻辑与过程( logical and procedu

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?        

初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)

JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM,字节码 两个命令: javac helloworld.java:将Java文件编译为字节码的.class文件 java helloworld:运行Java程序...??暂时这么认为 数据类型: 普通数据类型:int a=3; 对象数据类型:使用关键字new,String s=new String("

PHP 抽象类,接口,抽象方法,静态方法

1.Abstract class(抽象类) 抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 抽象类不能被直接实例化.抽象类中只定义(或部分实现)子类需要的方法.子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化. 如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法.如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class 前面加上 abs

jdk1.8新特性 : 接口中可以有普通方法(非静态方法)和静态方法 , 颠覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,后面必须要加一句jdk1.7和1..7之前

看到jdk某些接口中存在default方法,于是... http://shaomeng95.iteye.com/blog/998820    为什么接口只能是公有常量? public interface Jdk8新特性 { public static final String AA = "hhe"; default void test(){ System.out.println("哈哈"); } public static void hehe(){ System.o

day26--静态属性、类方法、静态方法、组合、继承

一.静态属性 class Room: tag=1 def __init__(self,name,owner,width,length,heigh): self.name=name self.owner=owner self.width=width self.length=length self.heigh=heigh @property def cal_area(self): # print('%s 住的 %s 总面积是%s' % (self.owner,self.name, self.widt

18.抽象类与抽象方法的使用

public abstract class Base { //抽象类中可以没有抽象方法,但包含了抽象方法的类就必须被定义为抽象类 public abstract void method1(); public abstract void method2(); public void method3(){} //没有抽象的构造方法 //public abstract Base(){} //没有抽象的静态方法 //static abstract void method4(); public Base(

C#中抽象类里面建立静态方法

</pre><pre name="code" class="csharp"><span style="font-size:18px;">public class TestMain { public static void main(String[] args) { AbstractTest.out(); } } </span> <span style="font-size:18px;

抽象类-接口--抽象方法几点解释

//abstract class和interface有什么区别?含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的.abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,(抽象类中的普通方法,可以不必实现.)所以,不能有抽象构造方法或抽象静态方法.如果子类没有实现抽象父类中的所有抽 象方法,那么子类也必须定义