자바 다 중 final 키워드 포장 류 포장 상자 뜯 기 템 플 릿 방법 디자인 모델 추상 적 방법 과 추상 적 인 인터페이스 와 실현 류
8021 단어 주간 신문
다 중 통속 점 은 대상 을 만 드 는 것 이 부모 류 의 유형 이지 만 하위 클래스 의 대상 이다.부모 클래스 이름 클래스 = new 하위 클래스 이름 () 을 컴 파일 할 때 대상 을 부모 클래스 로 보고 실행 할 때 대상 을 하위 클래스 로 봅 니 다.다 중 장점: 코드 의 지루 성 을 줄 일 수 있 습 니 다.다 태 적 특징: 자 류 를 부 류 대상 으로 보지 만 운행 할 때 자 류 의 특징 을 나타 낸다.주의: 계승 은 다 태 적 전제 이지 만 개발 에 관련 된 다 태 적: 인터페이스 와 실현 류 의 관계.참조 형식 변환: 자동 형식 변환: 하위 클래스 대상 을 부모 클래스 변수 (다 중 형식) Animal a = new Dog () 에 부여 합 니 다. 강제 형식 변환: Dog b = (Dog) a 다 중 관련 코드:
//
class Pet {
public void eat() {
System.out.println(" ");
}
public void feed(){
System.out.println(" ");
}
}
//
class Dog2 extends Pet{
public void eat(){
System.out.println(" ");
}
public void feed(){
System.out.println(" ");
}
}
class Cat2 extends Pet{
public void eat(){
System.out.println(" ");
}
public void feed(){
System.out.println(" ");
}
}
class Master{
/*public void feed(Cat2 cat2){
cat2.feed(); Master person=new Master();
person.feed(new Cat2()); */
public void feed(Pet pet)
{
pet.feed();
}
}
public class {
public static void main(String[] args) {
//
// , ,
Pet cat1=new Cat2();// ( ) Cat2 , Pet
cat1.eat();//
//Cat2 cat1=(Cat2) cat; cat Pet Cat2 , Cat2,
// cat1.eat();
//Dog dog=(Dog) cat; :Pet Dog
// Pet dog=new Dog2; Dog dog1=(Dog) dog;
/* instanceof if else */
if (cat1 instanceof Cat2)
{
Cat2 cat2=(Cat2) cat1;// cat2
System.out.println(" 1");
}
else
{
Dog2 dog2=(Dog2) cat1;
System.out.println(" 2");
}
System.out.println();//
/*Master person=new Master();
person.feed(new Cat2()); , ,
Master feed */
Master person=new Master();
person.feed(new Cat2());
person.feed(new Dog2());
//
}
// ,
}
final
final 수식 자 는 클래스, 방법, 변 수 를 수식 할 수 있 습 니 다.final 이 수식 하 는 클래스 는 하위 클래스 final 이 수식 하 는 방법 이 있어 서 는 안 됩 니 다. 하위 클래스 에서 좋 은 알고리즘 업 무 를 제공 할 때 하위 클래스 가 하위 클래스 를 계승 하지 못 할 때 final 수식 방법 을 사용 하도록 해 야 합 니 다.final 수식 변수: 기본 데이터 형식 에 대해 서 는 값 을 다시 바 꿀 수 없고 한 번 만 할당 할 수 있 습 니 다.인용 데이터 형식 에 대해 변수의 주 소 는 바 꿀 수 없 지만 변수의 내용 은 관련 코드 를 바 꿀 수 있 습 니 다.
class show{
String name=" ";
public show(){
}
public void show(String name){
this.name=name;
}
}
public class final {
public static void main(String[] args) {
final int num=17;//final
//num=12; ,final
System.out.println(num);
System.out.println();
final show u =new show();
System.out.println(u.name);
u.show(" ");
// u=new .show(" "); final ,
System.out.println(u.name);
}
}
포장 류 포장 상자 분해
여기 서 말 하 는 것 은 기본 데이터 유형의 포장 류 이다.포장 류 에는 이 데이터 유형의 관련 물건 이 많 습 니 다. 예 를 들 어 최대 최소 치, 진법 전환 등 이 있 습 니 다. 또한 포장 류 가 확정 한 유형 은 대상 이 고 대상 은 null 과 0 두 가지 상 태 를 나 타 낼 수 있 습 니 다.8 대 기본 데이터 유형의 포장 류: Byte, Short, Integer, Long, Character, Float, Double, Boolean 8 대 기본 데이터 유형의 포장 류 는 모두 final 수식 류 이다.
포장: 기본 데이터 형식 값 을 포장 류 에 대응 하 는 대상 (예 를 들 어 int - > integer) 으로 변환 합 니 다. 포장 류 의 대상 을 해당 하 는 기본 데이터 형식의 변수 (integer - > int) 로 자동 포장 합 니 다. 기본 값 을 유형의 값 에 따라 대응 하 는 포장 류 대상 에 게 직접 할당 할 수 있 습 니 다.자동 분해: 포장 류 의 대상 값 을 기본 데이터 형식 에 대응 하 는 변수 에 직접 부여 할 수 있 습 니 다.
Integer num1=new Integer(17);//
Integer num2=Integer.valueOf(17);//
int num3=num2.intValue();//
Integer num4=16;//
int num5=num4;//
//num1,num2,num4 ,num3,num5
자동 분리 작업: switch 문 구 는 byte, short, char, int 뿐만 아니 라 지금도 Byte, Short, Character, Integer 를 지원 합 니 다.
포장 류 는 기본 적 인 조작 이 있 습 니 다. 1. 모두 MAX 가 있 습 니 다.VALUE/MIN_VALUE / SIZE (데이터 차지) 2. 구조 기: 첫 번 째: 매개 변 수 는 기본 데이터 형식 Integer num = new = Integer (17) 두 번 째 입 니 다. 매개 변 수 는 String 형식 Integer num = new Integer (17) 입 니 다.방법: String - - > int 형식 Public static int parseInt (String str): 문자열 의 데 이 터 를 int 형식 int - - > String String str = String. valueOf (17) 로 변환 합 니 다. / /“17”
템 플 릿 방법 디자인 모드
개념: 부모 류 의 한 방법 에서 전체적인 알고리즘 의 골조 (템 플 릿 방법) 를 정의 하고 특정한 절 차 를 하위 클래스 로 지연 시 킵 니 다. 서로 다른 하위 클래스 가 디 테 일 을 실현 하기 때 문 입 니 다.템 플 릿 방법 은 하위 클래스 가 알고리즘 구 조 를 바 꾸 지 않 은 상태 에서 알고리즘 중의 일부 절 차 를 다시 정의 할 수 있 습 니 다.
:// 1000 1000
abstract class OperateTemplate
{
public final long getTogetTime(){
long begin=System.ourrentTimeMillis();
doWork();
long end =System.ourrentTimeMillis();
return end-begin;
}
abstract protected void doWork();
}
class IntOperate extends OperateTemplate
{
public void doWork(){
long total=0;
for(int i = 1;i<=10000;i++)
{
total+=i;
}
}
class StringOperate extends OperateTemplate
{
public void doWork(){
String str ="";
for(int i=1;i<10000;i++)
{
str=str+i;
}
}
}
추상 적 방법 과 추상 류
추상 적 인 방법: abstract 로 수식 하고 방법 체 가 없 는 방법.특징: 1. 방법 체 가 없 으 면 하위 클래스 에 남 겨 두 어 실현 한다.2. 추상 적 인 방법의 장식 부 호 는 private 와 final 과 static private 와 final 이 될 수 없다. 추상 적 인 방법 은 하위 클래스 에 남 겨 두 고 실현 해 야 하 는 static 가 안 되 는 것 은 static 가 쓰 는 방법 이 바 뀌 지 않 기 때문이다. 추상 적 인 방법 은 추상 류 나 인터페이스 에서 추상 류 로 정의 해 야 한다. abstract 키 워드 를 사용 하여 수식 하 는 유형 특징: 1. 인 스 턴 스 를 만 들 지 못 하면 new 추상 류 2 를 만 들 수 없다.추상 류 는 추상 적 인 방법 을 포함 하지 않 을 수 있 지만 추상 적 인 방법 이 있 으 면 이런 유형 은 반드시 추상 류 이다.3. 만약 에 자 류 가 부류 의 모든 추상 적 인 방법 을 실현 하지 못 하면 자 류 도 추상 적 인 유형 으로 해 야 한다.4. 구조 방법 은 사유 로 정의 할 수 없다. 왜냐하면 계승 할 때 부류 의 구조 방법 을 집행 하기 때문이다.5. 추상 류 는 final 로 수식 할 수 없다. 왜냐하면 서브 클래스 가 있어 야 추상 적 인 방법 이 실 현 될 수 있 기 때문이다.6. 불완전한 유형 이 므 로 기본 유형 으로 해 야 기능 이 실 현 될 수 있다.추상 류 와 일반 류 의 차이: 추상 류: 또한 하나의 유형 으로 추상 적 인 방법 (방법 체 가 없 는 방법) 추상 류 는 대상 을 만 들 수 없다 고 정의 할 수 있다.그 외 에 도 마찬가지다.
인터페이스 와 실현 클래스
정의: 인 터 페 이 스 는 주로 방법 을 정의 하 는데 특정한 행위 (방법) 를 가 져 야 한다 고 규정 합 니 다. 다른 유형 이 이 기능 을 가 지 려 면 인 터 페 이 스 를 실현 해 야 합 니 다.[수정자] 인터페이스 인터페이스 이름 {}
인터페이스 구성원: 1. 전역 정적 상수 기본 Public static final 수식 2. 공공 정적 내부 클래스 기본 Public static 수식 3. 공공 추상 적 인 방법 기본 Public abstract 수식 Public interface 의 정의 및 구성원{/ 기본 abstract int age = 17; / 인터페이스 에서 정 의 된 변 수 는 기본적으로 Public static final 로 수식 되 기 때문에 인터페이스 로 상수 클래스 void walk () 를 사용 할 수 있 습 니 다. / / 인터페이스 에서 의 방법 은 기본적으로 Public abstract 를 접두사 class walk {} / 인터페이스 에 있 는 클래스 는 기본적으로 Public static 로 수식 합 니 다}
인터페이스의 특징: 1. 구조 방법 이 없고 실례 화 할 수 없다. 2. 인 터 페 이 스 는 인터페이스 만 계승 할 수 있 고 클래스 를 계승 할 수 없 으 며 다 중 계승 (쉼표 로 분리) 을 지원 한다. 한 인 터 페 이 스 는 여러 개의 부모 인터페이스 3. 인터페이스 구성원 의 특징 을 허용 한다.
interface IWalkable{
void walk();
}
interface ISwimable{
void swim();
}
interface extends IWalkable,ISwimable{//
}
class Animals{
}
class extends Animals implements IWalkable{// , abstract
public void walk(){// public, public abstract
System.out.println(" ");
}
}
class extends Animals implements ISwimable {// , ,
public void swim() {
System.out.println(" ");
}
}
class extends Animals implements IWalkable,ISwimable{//
//
public void walk(){
System.out.println(" ");
}
public void swim(){
System.out.println(" ");
}
}
class interfaceText {
public static void main(String[] args) {
i=new ();
i.swim();
j=new ();
j.walk();
k=new ();
k.swim();
k.walk();
ISwimable p=new ();//
p.swim();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
전단 주간 지 2 기4.567914.점점 유행 하고 있 지만 정말 사용 할 가치 가 있 습 니까?저 자 는 ROI(투자 수익 률)의 측면 과 자신의 경험 을 정리 하고 사용TypeScript대형 응용 을 구축 하 는 타당 성 을 분석한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.