자바 의 interface,abstract class 와 C++의 다 중 계승,가상 기본 클래스
2562 단어 자바
1.자바 스 택 메모리 가 모두 자동 으로 관리 되 고 C+는 인공 적 으로 메모리 관리 가 필요 합 니 다.
2.Java 는 반 사 를 지원 합 니 다.C++는 반 사 를 지원 하지 않 습 니 다.
3.자바 단일 계승 은 인터페이스 로 만 다 중 계승 을 실현 할 수 있 습 니 다.C++는 다 중 계승 을 지원 하고 가상 계승 을 지원 합 니 다.
4.자바 는 역할 영역 내 변수 이름 바 꾸 기 를 지원 하지 않 으 며 패키지 이름 으로 구분 되 며 전역 변수 가 없습니다.C++는 역할 영역 내 변수 이름 을 바 꾸 고 이름 공간 으로 구분 하 며 전역 변수 가 있 습 니 다.이른바 전역 변 수 는 실질 적 으로 domain 이름 공간 입 니 다.
5.자바 는 플러그 인 클래스 를 지원 합 니 다.클래스 와 클래스 의 관 계 는 비평 행 관계 일 수 있 습 니 다.내부 클래스 는 외부 클래스 의 구성원 변 수 를 방문 할 수 있 습 니 다.C++의 모든 클래스 는 평행 관계 이 고 위조 플러그 인 관 계 는 우 원 을 통 해 실 현 될 수 있 습 니 다!
표면적 인 코드 차이
1.C++클래스 와 자바 클래스 의 비교:
// C++ class
class Parent
{
public:
static int staticValue = 0;
public:
void Method1()
{
cout << "C++ class!
";
}
};
class Test
: public Parent
{
private:
int value1;
const float value2 = 3.4;
static void* value3 = nullptr;
public:
static const int value4 = 5;
public:
void Method1()
{
cout << Parent::staticValue << endl;
this->Parent::Method1();
}
static void Method2()
{
cout << value4 << endl;
}
};
// Java class
public class Parent
{
public static int static_value = 0;
public void method1()
{
System.out.println("Java class!");
}
}
public class extends Parent
{
private int value1;
private final float value2 = 3.4;
private static String value3 = null;
public static final int value4 = 5;
public void method1()
{
System.out.println(Parent.static_value);
super.method1();
}
public static method2()
{
System.out.println(value4);
}
}
2.C++자바 다 중 비교:
// Java
public class TestJava {
public static void main(String args[]) {
abstract class Animal {
public void eat() {
System.out.println(" ");
}
public abstract void action();
}
class Dog extends Animal {
public void eat() {
System.out.println(" ");
}
public void action() {
System.out.println(" ");
}
public void work() {
System.out.println(" ");
}
}
class Cat extends Animal {
public void eat() {
System.out.println(" ");
}
public void action() {
System.out.println(" ");
}
public void work() {
System.out.println(" ");
}
}
Animal a = new Dog();
a.eat();
a.action();
if (a instanceof Dog)
((Dog)a).work();
}
}
C++typeid,자바 사용 instanceof 키워드!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.