> Java > java지도 시간 > 본문

실속을 설정하고 실시간으로 코드를 작성하시겠습니까? 노점경제 시대의 새로운 트렌드세터를 살펴보겠습니다~

풀어 주다: 2023-07-26 17:45:09
앞으로
1452명이 탐색했습니다.

안녕하세요 여러분 노드 형제입니다. 최근 눈치채셨는지 모르겠지만, 노점 경제가 활황입니다! 바람 위에 서면 돼지도 날 수 있다고 합니다. 아니, 아시다시피, 우리 형제 Wu는 비즈니스에 매우 정통하고 이러한 비즈니스 기회의 물결을 예리하게 인식하고 있으며 이 기회를 활용하여 용의 문을 뛰어 넘는 날아다니는 돼지처럼 수행할 준비가 되어 있습니다.

오늘 우 형제는 일찍 저에게 차를 몰고 와서 함께 노점을 세우는 것에 대해 이야기하기로 했습니다. 우 형제는 좋은 일이 생기면 형제들을 돕는 것을 결코 잊지 않는 사람입니다. 의리 있지만 단점도 있는 게 너무 섹시해요!

기름진 머리를 빗은 채 멀리서 우 형제가 담배에 불을 붙이고 45도 각도로 하늘을 올려다보는 모습이 마치 세상에서 가장 매력적인 사람인 듯 보였습니다. 지나가는 사람들이 보면 걷어차버리고 싶다고 하더군요.) 저는 서둘러 올라가서 인사를 했습니다.

Me: (아첨하는 척) 우 형제님, 여기 계세요? 오랜만인데 여전히 너무 잘생겼어요!

우 형제: (고개를 돌려 나를 바라보고, 눈썹을 치켜올리며 점차 미소 짓는다): 아야, 이 동생 노드 아닌가요? 지난번에 작별 인사를 하고 며칠 동안 만나지 못했어요. 정말 보고 싶어요! 그날 밤을 기억하시나요? 우리는 커피숍에서 로맨틱한 음악을 들으며 함께 인생과 이상에 대해 이야기를 나누었는데...

Me: (갑자기 등골이 서늘해지며 소름이 돋았다) 그만, 그만! 어떤 삶? 무슨 이상? 당신은 너무 우스꽝스럽습니다. 지난번에 Java 데이터 유형을 배우지 않았나요? 잊어버렸나요? 4개 카테고리와 8개 종도 몇 가지 작은 예를 제시하셨습니다. 비록 당신이 말한 것이 좋다고 해서 대낮에 헛소리를 할 수 있다는 의미는 아니며 세상이 깨끗하다는 것을 의미하지 않습니다. 상사로서의 지위에 주목하십시오.

우 형제: 해롭다! 농담이에요~ 하하~ 불안한 모습을 보니 얼굴이 빨개지기 시작하네요. (그렇게 말하면서 나에게 더 가까이 다가왔다)

Me: (조금 엉성하지만 차분한 척, 아우라를 잃질 못함) 젠장? 우 형제님, 정말 그런 취미가 없으신가요? ...

우 형제: 취미가 ​​뭐예요?

: (혐오스러운 순간) 에헴...아무것도 아니고, 노점상을 같이 의논하러 온 거 아니었어? 좋은 아이디어가 있나요?

우 형제: 네! 나는 사업에 대해 거의 잊어 버렸습니다. 저는 단지 당신과 노점상을 세우는 것에 대해 논의하기 위해 여기에 왔습니다. 아직 봤어? 최근 위챗 친구들 사이에서는 노점 경제가 활성화될 것이라는 내용의 노점 관련 기사가 돌고 있다.

Me: 봤는데 맞네요. 비슷한거 많아요:

실속을 설정하고 실시간으로 코드를 작성하시겠습니까? 노점경제 시대의 새로운 트렌드세터를 살펴보겠습니다~

우 형제: 하하~ 사진이 너무 생생한데, 이 가발 판매자는 왜 조금은 아닌 것 같나요? 살인적인? 요즘은 자연으로 돌아가는 게 유행인가요? 그런데 이 가발 판매자가 인기가 많을 것 같은 느낌이 드네요! 우리 모두 알다시피, 프로그래머에게 가장 소중한 것은 머리카락입니다. 프로젝트가 온라인 상태일 때 밤새도록 일해야 할 수도 있습니다. 너무 힘들어서 간도, 신장도, 머리카락도 다 상했습니다. 20대 청년이 노인으로 변해가는 모습을 보고 그들은 걱정이 되었습니다. 모발 성장 샴푸, 컨디셔너 등의 상품을 노점상에서 판매할 수도 있고 심지어 종합 케어 패키지까지 판매할 수 있습니다. 제목은 이미 생각했습니다: 프로그래머를 위한 배려, 처음부터! 아이, Huiren Shenbao와 인도 신성한 기름을 몇 상자 더 얻을 수도 있습니다! 오늘날 그 문제로 인해 가정의 불화와 불행한 삶을 사는 사람이 얼마나 되는지 아십니까? 우리는 단지 사용자들의 문제점을 해결하고 싶을 뿐입니다! 그리고 과학기술단지 입구에서 특별판매도 하고 있으니 꼭 돈도 벌 수 있을 거에요!

Me: 뭐야? 우 형제님, 이걸 원하시나요? 혹시 당신에게도 숨길 것이 있는 것은 아닐까?

우 형제: (눈을 굴리며) 빌어먹을 언니! 너만이 가지고 있어 난 아직 어려! 정말 사용자의 요구에서 시작됩니다! 혜택을 주세요!

Me: 네, 아직 과학기술단지에는 프로그래머가 많고 일일 트래픽도 많습니다. 이에 대한 필요성이 강해서 공급이 수요를 초과할 수도 있습니다. 가격도 올리고 돈도 많이 벌 수 있는 기회! 하하하~

우 형제: 돈 냄새가 나는 것 같아요...하하~ 저는 정말 비즈니스 천재예요!

Me: 아직 너무 기뻐하지 마세요. 우리는 매점을 세웠는데 여기에는 아무것도 없습니다. 상품이 있나요? 당신은 자동차를해야합니까? 어디서 팔 수 있는지, 어디가 불법인지 아시나요? 그때쯤에는 규칙을 어기고 잡히면 끝이에요.

우 형제: 아. 도. 우리는 합산 작업을 잘 해야 합니다. 하지만 도시관리당국에서는 이제 1인당 3개의 노점상을 육성하겠다는 목표를 세웠다고 들었습니다.

Me: 너 정말 대단해? 그러면 우리는 안심할 수 있습니다! 하지만 개인적으로 어떤 품목이 팔기 쉬운지, 어떤 지역이 일반적으로 인기가 있는지, 대략적인 일수입과 지출 비중이 어느 정도인지 시장 조사를 먼저 해야 한다고 생각합니다. 우리는 준비되지 않은 전투를 하지 않습니다. 어떻게 생각하시나요?

우 형제: 맞아요. 먼저 살펴 보겠습니다. 긴급한 일이 아니고 장기적으로 논의해야합니다.

Me: 네, 지금은 대머리 프로그래머가 너무 많아서 관련 산업이 인기를 끌 거예요.

우 형제: 네, 시작해 보세요.

...

그때부터 우 형제와 저는 여기저기 업체에 연락해 물건을 팔고, 매일 뛰어다니면서 아주 만족스러운 삶을 살기 시작했습니다...

이렇게 한동안, 우리는 원래 꿈을 꾸었습니다 부자가 됐는데 노점상이 문을 닫을 줄은 몰랐어요...

오 형제님은 너무 요염해서 지나가는 아가씨들에게 자주 달려가서 위챗 메시지를 달라고 하고, 여자들과 어울리기도 하더군요. , 그의 인디언 매직 오일을 판매하며 이것에 대해 이야기합니다. 몸에 바르고 마사지하면 사용 후 피부가 윤기 있고 윤기가납니다. 젊은 여성은 너무 무서워서 소비자 협회에갔습니다. 신고하면... 우리는 일자리를 잃었습니다.

우 형제는 빚을 갚기 위해 어쩔 수 없이 차를 팔고 나와 함께 방황 생활을 시작했다...

가끔 자바 라이브 방송을 하는 노점 주인을 봤는데, 몰래 달려가서 잠깐 들어봤는데, 유익한 정보가 가득했지요? 우리는 너무 무서워서 성공한 사람들의 경험을 배우기 위해 빨리 좋아하고 따라갔습니다.

큰 사람이 자바 키워드에 대해 이야기하는 것을 보았는데, 끙끙거리는 소리와 함께 배에서 배고픔을 느꼈던 장면이 떠올랐습니다. 계산을 해보니 이틀 동안 아무것도 먹지 않았는데 갑자기 눈물이 흘렀습니다. 내가 자바를 잘 공부했다면 이렇게 되지는 않았을 텐데! 너무 싫어!

이번에는 더 많은 분들이 배고프지 않도록 사장님의 강의노트를 공유하게 되었습니다. 나에게 감사하지 말고 우 형제님에게 감사하십시오. 정말 쉽지 않은 일이었습니다. 강의 자료를 얻기 위해 온몸에 콧물과 눈물이 흘렀습니다. 우 형제는 매우 필사적이었고 유용한 정보를 공유하는 것 외에는 할 수 없이 행복한 표정을 지었습니다. 몸무게가 100파운드인 아이(100파운드만 남음)...

Essentials

Java에는 일련의 키워드가 있으며, 각 키워드에는 코드에서 중요한 목적과 의미가 있습니다. 자바 키워드에 대해 함께 알아볼까요?

Java에는 키워드가 많습니다. 이 글에서는 먼저 각 키워드의 사용법을 소개한 다음, 일반적으로 사용되는 세 가지 키워드인 final, static 및 this에 중점을 두고 다른 키워드를 한 번 확인해 보세요.

Java 키워드 요약


데이터 유형 meaning
abstract 은 클래스 또는 멤버 메서드에 추상 속성이 있음을 나타냅니다
assert assert, 프로그램 디버깅에 사용
부울 기본 데이터 유형 1. Boolean형
break 블록을 미리 break out
byte 기본 데이터형 중 하나인 byte형
case 을 사용하여 switch문에서 표현 브랜치 중 하나
catch 예외를 잡기 위해 예외 처리에 사용됨
char 기본 데이터 유형 중 하나, 문자 유형
class 클래스 선언
con st 예약된 키워드, 특정 의미 없음
continue 블록의 시작 부분으로 돌아가기
default Default, 예를 들어 기본 분기를 나타내기 위해 스위치 문에 사용됨
do 용도 do-while 루프 구조에서
double 기본 데이터 유형 중 하나인 배정밀도 부동 소수점 유형
else 은 조건문에서 조건이 참이 아닐 때 분기를 표시하는 데 사용됩니다.
enum Enumerations
extends 여기서 일반적인 유형에는 클래스와 인터페이스가 포함됩니다.
final 은 최종 속성을 설명하는 데 사용됩니다. 클래스는 자식을 파생할 수 없습니다. 클래스나 멤버 메서드는 재정의될 수 없으며, 멤버 필드의 값은 변경될 수 없습니다. 상수를 정의하는 데 사용됩니다
finally 예외를 처리하는 데 사용되며, 기본적으로 실행됨
float 기본 데이터 유형 중 하나인 단정밀도 부동 소수점 유형
for 루프 구조에 대한 안내 단어
goto 예약된 키워드, 특정 의미 없음
if 조건문 소개 단어
implements 클래스가 주어진 인터페이스를 구현함을 나타냅니다.
import 하고 싶다는 뜻을 나타냅니다 access 지정된 클래스 또는 패키지
instanceof 는 객체가 지정된 유형
int 의 인스턴스 객체인지 여부를 테스트하는 데 사용됩니다. 기본 데이터 유형 중 하나인 정수 유형
인터페이스 interface
long 기본 데이터 유형 중 하나인 긴 정수 유형
native 은 메서드가 컴퓨터 관련 언어(예: C/C++/ FORTRAN 언어)
new 새 인스턴스 개체를 만드는 데 사용됩니다
package package
private 액세스 제어 방법: 비공개 모드
protected 액세스 제어 방법: 보호 모드
public 액세스 제어 방법: 공유 모드
return 멤버 메서드에서 데이터를 반환합니다.
short 기본 데이터 유형 중 하나, 짧은 정수 유형
static 는 정적 속성이 있음을 나타냅니다.
strictfp 은 FP_strict(단일 또는 이중 정밀도 부동 소수점 수) 표현식이 IEEE 754 산술 사양을 따른다는 것을 선언하는 데 사용됩니다. [1]
super 은 현재 개체의 상위 유형 참조 또는 상위 유형 메서드 구성
switch 분기 문 구조 소개
synchronized 는 코드 조각을 동기식으로 실행해야 함을 나타냅니다
this 현재 인스턴스 객체에 대한 참조
throw 비정상 던지기
throws 현재 정의된 멤버 메서드에서 발생해야 하는 모든 예외를 선언
transient 직렬화할 필요가 없는 멤버 필드 선언
try 발생할 수 있는 프로그램 블록을 사용해 보세요. 예외는 현재 멤버 메소드가 리턴 값이 없다는 것을 보여줍니다. 볼라 타일은 루프 구조에 두 개 이상의 변수가 동기로 변경되어야한다는 것을 알립니다.

목록에 없는지 모르겠지만, 나열되었을 때 충격을 받았습니다. Java에는 우리가 일상 생활에서 대부분 사용하는 키워드가 너무 많지만 우리는 특별한 비용을 지불하지 않습니다. 이것에 주의. 그래서 대부분은 누구에게나 친숙한 내용이고, 일반적으로 사용되지 않는 내용은 요약하지 않겠습니다. 다음으로는 대표적인 키워드 몇 가지를 위주로 요약하겠습니다.

final 키워드

Java의 final 키워드는 클래스, 메소드 및 변수(인스턴스 변수 및 지역 변수 포함)를 수정하는 데 사용할 수 있습니다.

최종 수정 클래스

최종 수정 클래스 사용 , 클래스는 상속될 수 없으며 클래스의 모든 멤버 메서드는 암시적으로 최종 메서드로 정의됩니다(클래스의 모든 메서드가 재정의되지 않도록 해야 하는 경우 클래스를 수정하려면 final만 사용하세요). 최종 수정 클래스의 멤버 변수는 변경 가능

public final class FinalClass{

 int i = 1;
    
 void test(){
  System.out.println("FinalClass:test");
 }
    
 public static void main( String[] args ){
  FinalClass ficl = new FinalClass();
    
  System.out.println("ficl.i = " + ficl.i);
  ficl.i = 2;
  System.out.println("ficl.i = " + ficl.i);
 }
}
로그인 후 복사

최종 수정 메소드

최종 수정 메소드를 사용하면 상속된 클래스가 메소드를 수정하지 못하도록 메소드를 "잠글" 수 있습니다. , using 메서드가 최종 수정된 경우 하위 클래스는 이를 재정의할 수 없습니다(그러나 상속 및 오버로드에는 영향을 미치지 않습니다. 즉, 하위 클래스에서 상위 클래스 메서드를 호출하는 것은 영향을 받지 않습니다).

최종 수정 변수

최종 키워드를 사용하여 변수를 수정하는 것이 가장 일반적으로 사용되는 상황입니다.

final을 사용하여 수정한 변수의 값은 다시 변경할 수 없습니다. 즉, 재할당할 수 없습니다.

  1. 如果final修饰的变量是基本数据类型,则变量的值不可更改;
  2. 如果final修饰的变量是引用数据类型,则该变量不能再次指向其他引用(如重新指向新的对象或数组)但是该变量本身的内容可以再做修改(如数组本身的内容,或者对象的属性的修改)。

无论final修饰实例变量还是局部变量,都必须在使用前显式赋初值。

  1. Java中的实例变量系统会对其默认赋初值,但是局部变量必须先声明后赋值再使用。
  2. 虽然对于实例变量,系统会默认赋初值,但是Java仍然规定final修饰的实例变量必须显式赋初值。实例变量显式赋值的时机可以是在声明时直接赋值,也可以先声明,后在构造方法中赋值(对于含有多个构造方法,必须在每个构造方法中都显示赋值)。

我们来看个例子:

public void fun(){

 //BufferedImage src = null;//0. 声明的同时赋值
 BufferedImage src;//1. 这里不用赋初值,也不会出错
 try{
  src = ImageIO.read(new File("1.jpg"));//2.
 } catch (Exception e){
 //3. 如果出异常了就会进入这里,那么src可能无法被赋值
 }
 
 System.out.println(src.getHeight()); //4. src不一定有值,所以无法使用
}
로그인 후 복사

如果静态变量同时被final修饰则可以将变量视为全局变量,即在整个类加载期间,其值不变。(static保证变量属于整个类,在类加载时只对其分配一次内存;final保证变量的值不被改变)

정적 키워드

정적 메서드는 일반적으로 정적 메서드라고 합니다. 정적 메서드는 개체에 의존하지 않고 액세스할 수 있으므로 개체에 의존하지 않기 때문에 정적 메서드에는 이것이 없습니다. 파트너가 없어서 우리는 이것에 대해 이야기할 수 없습니다. 그리고 이 기능으로 인해 클래스의 비정적 멤버 변수와 비정적 멤버 메서드는 정적 메서드에서 액세스할 수 없습니다. 비정적 멤버 메서드/변수는 호출되기 전에 특정 개체에 의존해야 하기 때문입니다.

그러나 비정적 멤버 메서드와 비정적 멤버 변수는 정적 메서드에서 액세스할 수 없지만 정적 멤버 메서드/변수는 비정적 멤버 메서드에서 액세스할 수 있다는 점에 유의해야 합니다. 즉, 그 반대도 가능합니다.

객체를 생성하지 않고 메서드를 호출하려면 이 메서드를 정적으로 설정하면 됩니다. 정적 수정 멤버 메서드의 가장 큰 기능은 "

" 메서드를 사용하여 메서드를 호출할 수 있다는 것입니다. 이를 통해 새 개체의 지루함과 리소스 소비를 피할 수 있습니다. 类名.方法名

가장 일반적인 정적 메서드는 기본 메서드입니다. 메인 메소드가 정적이어야 하는 이유는 프로그램이 메인 메소드를 실행할 때 어떤 객체도 생성하지 않아 클래스 이름을 통해서만 접근할 수 있기 때문입니다.

정적 변수

정적 변수는 정적 변수라고도 합니다. 정적 변수와 비정적 변수의 차이점은 정적 변수는 모든 개체에서 공유되며 메모리에 복사본이 하나만 있어야 한다는 것입니다. 클래스가 처음 로드될 때만 초기화됩니다. 비정적 변수는 객체가 소유하며 객체가 생성될 때 초기화됩니다. 복사본이 여러 개 있으며, 각 객체가 소유한 복사본은 서로 영향을 미치지 않습니다.

정적 멤버 변수의 초기화 순서는 정의된 순서대로 초기화됩니다.

static 代码块

static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。为什么说static块可以用来优化程序性能,是因为它的特性:只会在类加载的时候执行一次。

所谓的代码块就是当我们初始化static修饰的成员时,可以将他们统一放在一个以static开始,用花括号包裹起来的块状语句中。例如:

class Person{
 private Date birthDate;
  
 public Person(Date birthDate){
  this.birthDate = birthDate;
 }
  
 boolean isBornBoomer(){
  Date startDate = Date.valueOf("1946");
  Date endDate = Date.valueOf("1964");
  return birthDate.compareTo(startDate)>=0 && birthDate.compareTo(endDate) < 0;
 }
}
로그인 후 복사

isBornBoomer是用来这个人是否是1946-1964年出生的,而每次isBornBoomer被调用的时候,都会生成startDate和birthDate两个对象,造成了空间浪费,如果改成这样效率会更好:

class Person{
 private Date birthDate;
 private static Date startDate,endDate;
 static{
  startDate = Date.valueOf("1946");
  endDate = Date.valueOf("1964");
 }
  
 public Person(Date birthDate){
  this.birthDate = birthDate;
 }
  
 boolean isBornBoomer(){
  return birthDate.compareTo(startDate)>=0 && birthDate.compareTo(endDate) < 0;
 }
}
로그인 후 복사

将一些只需要进行一次的初始化操作都放在static代码块中进行。

this 关键字

this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。this关键字主要有以下三个作用:

  1. this调用本类中的属性,也就是类中的成员变量;
  2. this调用本类中的其他方法;
  3. this调用本类中的其他构造方法,调用时要放在构造方法的首行。(this语句只能定义在构造函数的第一行,因为在初始化时须先执行)

引用成员变量

public class Person{ 
 String name; //定义成员变量name
 private void SetName(String name) { //定义一个参数(局部变量)name
  this.name=name; //将局部变量的值传递给成员变量
 }
}
로그인 후 복사

虽然我们可以看明白这个代码的含义,但是作为Java编译器它是怎么判断的呢?到底是将形式参数name的值传递给成员变量name,还是反过来将成员变量name的值传递给形式参数name呢?也就是说,两个变量名字如果相同的话,那么Java如何判断使用哪个变量?此时this这个关键字就起到作用了。this这个关键字其代表的就是对象中的成员变量或者方法。也就是说,如果在某个变量前面加上一个this关键字,其指的就是这个对象的成员变量或者方法,而不是指成员方法的形式参数或者局部变量。

调用类的构造器方法

public class Person { 
 public Person(){ //无参构造器方法
  this(“Hello!”);
 }
 public Person(String name){ //定义一个带形式参数的构造方法
 }
}
로그인 후 복사

在上述代码中,定义了两个构造方法,一个带参数,另一个没有带参数。在第一个没有带参数的构造方法中,使用了this(“Hello!”)这句代码,这句代码表示什么含义呢?在构造方法中使this关键字表示调用类中的构造方法。

如果一个类中有多个构造方法,因为其名字都相同,跟类名一致,那么这个this到底是调用哪个构造方法呢?其实,这跟采用其他方法引用构造方法一样,都是通过形式参数来调用构造方法的。

注意的是:利用this关键字来调用构造方法,只有在无参数构造方法中第一句使用this调用有参数的构造方法。否则的话,翻译的时候,就会有错误信息。这跟引用成员变量不同。如果引用成员变量的话,this关键字是没有位置上的限制的。

返回对象的引用

public HttpConfig url(String url) {
 urls.set(url);
 //return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象)
 return this;
}
로그인 후 복사

return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象),就像我们平时使用StringBuilder一样,可以一直.append(),因为每次调用,返回的都是该对象的引用。

关于关键字,这篇文章就总结这么多,大佬的直播也刚好结束了。跟大佬互加了微信,聊了几句才知道原来大佬也是CSDN博客专家,半天才认出来武哥,毕竟武哥当初也是盛名在外,要不是搞什么神油…哎,不说了,都是泪水啊!

위 내용은 실속을 설정하고 실시간으로 코드를 작성하시겠습니까? 노점경제 시대의 새로운 트렌드세터를 살펴보겠습니다~의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Java学习指南
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!