জাভাতে 'পাবলিক স্ট্যাটিক অকার্যকর' অর্থ কী?


149

public static voidজাভা মানে কি ?

আমি শেখার প্রক্রিয়াধীন। আমি যে বই থেকে কাজ করছি তার সমস্ত উদাহরণে public static voidব্যবহার করা বা তৈরি করা কোনও পদ্ধতি আসার আগে আসে। এটার মানে কি?

উত্তর:


230

এটি তিনটি সম্পূর্ণ আলাদা জিনিস:

publicএর অর্থ হল যে পদ্ধতিটি দৃশ্যমান এবং অন্য ধরণের অন্যান্য অবজেক্ট থেকে কল করা যেতে পারে। অন্যান্য বিকল্প আছে private, protected, packageএবং package-private। দেখুন এখানে আরো বিস্তারিত জানার জন্য।

staticএর অর্থ হল যে পদ্ধতিটি শ্রেণীর সাথে সম্পর্কিত, কোনও শ্রেণির নির্দিষ্ট উদাহরণ (বস্তু) নয়। এর অর্থ আপনি ক্লাসের কোনও অবজেক্ট তৈরি না করেই স্থির পদ্ধতিতে কল করতে পারেন।

voidএর অর্থ হল যে পদ্ধতিটির কোনও রিটার্ন মান নেই। পদ্ধতিটি যদি কোনও ফেরত দেয় তবে intআপনি intপরিবর্তে লিখবেন void

এই তিনটিটির সংমিশ্রণটি সবচেয়ে বেশি দেখা যায় যে mainপদ্ধতিটিতে বেশিরভাগ টিউটোরিয়াল অন্তর্ভুক্ত থাকবে।


12
যেহেতু প্রশ্নকর্তা এখনও শিখছেন: এই কীওয়ার্ডগুলির ক্রমটিও গুরুত্বপূর্ণ। প্রথম সব সংশোধনকারীদের ( public, static, private, ইত্যাদি) তারপর রিটার্ন টাইপ ( voidএই ক্ষেত্রে)।
পিন্ডতজুহ

1
@ মার্কবিরেস ঠিক আছে আমি আপনার উত্তরটি বুঝতে পেরেছি, আমি জানি মূল পদ্ধতিটি অবশ্যই অচল থাকতে পারে তবে কেন তা প্রকাশ্য তা আমার কোনও ধারণা নেই ?? এর কোন নির্দিষ্ট কারণ আছে ??
হার্ডিক

9
আপনার অ্যাপ্লিকেশন শুরু করতে জাভা রানটাইম এনভায়রনমেন্টকে অবশ্যই মূল পদ্ধতিটি কল করতে হবে। এটি ব্যক্তিগত ছিল যখন এটি করতে পারে না।
ফিলিপ

44

তিনটি শব্দের অর্থোথোনাল অর্থ রয়েছে।

public অন্য প্যাকেজগুলির ক্লাস থেকে পদ্ধতিটি দৃশ্যমান হবে means

staticএর অর্থ হল যে পদ্ধতিটি একটি নির্দিষ্ট উদাহরণের সাথে সংযুক্ত নয় এবং এর কোনও " this" নেই। এটি কমবেশি একটি ফাংশন।

voidরিটার্ন টাইপ। এর অর্থ "এই পদ্ধতিটি কিছুই দেয় না"।


22

প্রকাশ্য শব্দ একটি অ্যাক্সেস সুনির্দিষ্টভাবে উল্লেখ করা হয়, যা প্রোগ্রামার বর্গ সদস্যদের দৃশ্যমানতা নিয়ন্ত্রণ করার অনুমতি দেয়। যখন কোনও শ্রেণীর সদস্য জনসাধারণের আগে হয়, তখন সেই সদস্যটি যে শ্রেণিতে এটি ঘোষিত হয় তার বাইরে কোড দ্বারা অ্যাক্সেস করা যেতে পারে। (জনসাধারণের বিপরীতটি ব্যক্তিগত, যা কোনও সদস্যকে তার শ্রেণীর বাইরে সংজ্ঞায়িত কোড দ্বারা ব্যবহার করতে বাধা দেয়))

এই ক্ষেত্রে main( )অবশ্যই প্রকাশ্য হিসাবে ঘোষণা করা উচিত, যেহেতু প্রোগ্রামটি শুরু হওয়ার সাথে সাথে অবশ্যই এটির শ্রেণীর বাইরে কোড দিয়ে ডাকতে হবে।

মূলশব্দ স্ট্যাটিকmain( ) শ্রেণীর কোনও নির্দিষ্ট উদাহরণ ইনস্ট্যান্ট না করে কল করার অনুমতি দেয় । এটি প্রয়োজনীয় কারণ যেহেতু main( )কোনও বস্তু তৈরি হওয়ার আগে জাভা ইন্টারপ্রেটার বলে।

মূল শূন্য রচনাটি কেবল সংকলককে বলে যে main( )কোনও মান দেয় না। আপনি দেখতে পাবেন যে পদ্ধতিগুলি মানগুলিও ফিরিয়ে দিতে পারে।


18

এর অর্থ হল:

  • public - এটি যে কোনও জায়গা থেকে কল করা যেতে পারে
  • static - এটির কোনও অবজেক্টের অবস্থা নেই, তাই কোনও বিষয়কে তাত্ক্ষণিক না করেই আপনি এটি কল করতে পারেন
  • void - এটি কিছুই ফেরায় না

আপনি ভাবেন যে কোনও রিটার্নের অভাব মানে এটি খুব বেশি কাজ করছে না, তবে এটি ডাটাবেজে জিনিসগুলি সংরক্ষণ করা হতে পারে।


4

এর অর্থ তিনটি জিনিস।

প্রথমটির publicঅর্থ অন্য কোনও বস্তু এটি অ্যাক্সেস করতে পারে।

static এর অর্থ এটি যে শ্রেণিতে থাকে সেটিকে ফাংশন বলার আগে প্রথমে তা ইনস্ট্যান্ট করা উচিত নয়।

void মানে যে ফাংশনটি কোনও মান দেয় না।

যেহেতু আপনি কেবল শিখছেন, প্রথম দুটি সম্পর্কে খুব বেশি চিন্তা করবেন না যতক্ষণ না আপনি ক্লাস সম্পর্কে শিখেন, এবং তৃতীয়টি যতক্ষণ না আপনি ফাংশনগুলি লেখা শুরু করবেন (যতক্ষণ না মূলটি ব্যতীত) শুরু করবেন না ততক্ষণ বেশি কিছু যায় আসে না।

প্রোগ্রাম শিখার সময় আমার কাছে সেরা পরামর্শ ছিল এবং যা আমি আপনার কাছে দিয়ে যাচ্ছি, আপনি এখনই যে ছোটখাট বিবরণটি বুঝতে পারবেন না সে সম্পর্কে চিন্তা করবেন না। মৌলিকগুলির একটি বিস্তৃত সংক্ষিপ্ত বিবরণ পান, তারপরে ফিরে যান এবং বিশদ সম্পর্কে চিন্তা করুন। কারণটি হ'ল আপনাকে public static voidআপনার প্রথম প্রোগ্রামগুলিতে কিছু জিনিস (যেমন ) ব্যবহার করতে হবে যা প্রথমে আপনাকে অন্যান্য জিনিসগুলির গুচ্ছ সম্পর্কে শেখানো ছাড়া ভালভাবে ব্যাখ্যা করা যায় না। সুতরাং, এই মুহুর্তের জন্য, এটি ঠিক যেভাবে এটি হয়ে গেছে তা গ্রহণ করুন এবং এগিয়ে যান। আপনি শীঘ্রই তাদের বুঝতে হবে।


3

সাধারণ শীর্ষ স্তরের শ্রেণি বিবেচনা করা। শীর্ষস্থানীয় স্তরে কেবল সর্বজনীন এবং কোনও সংশোধক অ্যাক্সেস মডিফায়ার ব্যবহার করা যাবে না সুতরাং আপনি হয় পাবলিক দেখবেন বা আপনি কোনও অ্যাক্সেস মডিফায়ার দেখতে পাবেন না।

`স্ট্যাটিক`` ব্যবহার করা হয় কারণ আপনার শীর্ষ স্তরে কোনও সত্যিকারের বস্তু তৈরি করার প্রয়োজন নাও থাকতে পারে (তবে কখনও কখনও আপনি চাইবেন যাতে আপনি সর্বদা স্থির দেখতে / ব্যবহার নাও করতে পারেন There এমন অন্যান্য কারণও রয়েছে যা আপনি স্থির অন্তর্ভুক্ত করবেন না খুব বেশি তবে এটি শীর্ষ স্তরের সাধারণ একটি))

voidব্যবহার করা হয় কারণ সাধারণত আপনি শীর্ষ স্তর (শ্রেণি) থেকে কোনও মান ফেরত যাবেন না। (কখনও কখনও আপনি NULLশূন্য ব্যতীত অন্য কোনও মান ফেরত দিতে চান তবে বিশেষত ক্ষেত্রে যখন আপনি ঘোষণা করেন, শীর্ষ স্তরে এমন কোনও বস্তুর সূচনা করে যেটিকে আপনি কিছুটা মূল্য নির্ধারণ করছেন তবে সর্বদা ব্যবহার নাও করা যেতে পারে)।

দাবি অস্বীকার : আমি নিজেই একজন নবাগত তাই এই উত্তরটি যদি কোনওভাবেই ভুল হয় তবে দয়া করে আমাকে ঝুলবেন না। দিনে আমি একজন প্রযুক্তি নিয়োগকারী, বিকাশকারী নই; কোডিং আমার শখ। এছাড়াও, আমি সবসময় গঠনমূলক সমালোচনার জন্য উন্মুক্ত এবং শিখতে ভালোবাসি তাই কোনও ত্রুটি চিহ্নিত করতে বিনা দ্বিধায় দয়া করে।


2
  • public মানে আপনি ক্লাস / অবজেক্ট বা প্যাকেজ বা শ্রেণীর বাইরে যে কোনও জায়গা থেকে ক্লাস অ্যাক্সেস করতে পারবেন
  • static ধ্রুব বলতে ধ্রুবক যার মধ্যে স্টেটমেন্টের ব্লকটি কেবল 1 বার ব্যবহৃত হয়েছিল
  • void কোন রিটার্ন টাইপ মানে

6
এই প্রশ্নটি পর্যাপ্তভাবে আচ্ছাদিত করা হয়েছে, সম্ভবত নকল তথ্য সহ পুরানো প্রশ্নের উত্তর না দিয়ে নতুন প্রশ্নের উত্তর দেওয়ার চেষ্টা করুন। ধন্যবাদ।
কেভ

এটি ঠিক হাতির সম্পর্কে ব্যাখ্যা করার মতো। লোকেরা এটি বোঝানোর চেষ্টা করে যে তিনি কোথায় দাঁড়িয়ে আছেন তার উপর নির্ভর করে। আমি উপরের সমস্ত উত্তর নিয়ে খুশি, তবে কেবল অবাক হবেন যে কেউ কীভাবে "একটি বই একটি জাভা কিনুন" বলতে পারেন।
সুলুং নগ্রোহো

2

Public - এর অর্থ ক্লাস (প্রোগ্রাম) অন্য কোনও শ্রেণীর দ্বারা ব্যবহারের জন্য উপলব্ধ।

Static- একটি ক্লাস তৈরি করে। ভেরিয়েবল এবং পদ্ধতিগুলিতে প্রয়োগ করা যেতে পারে, যা ক্লাসের কোনও নির্দিষ্ট উদাহরণে কেবল স্থানীয় পরিবর্তে শ্রেণি পদ্ধতি / ভেরিয়েবল তৈরি করে।

Void- এর অর্থ হ'ল ক্লাস প্রসেসিং সম্পূর্ণ করার পরে কোনও পণ্য ফেরত দেওয়া হয় না। সহায়ক শ্রেণীর সাথে এটির তুলনা করুন যা মূল শ্রেণীর জন্য একটি রিটার্ন মান সরবরাহ করে, এগুলি ফাংশনের মতো কাজ করে; এগুলির ঘোষণায় শূন্যতা নেই।


0

staticএর অর্থ হল যে পদ্ধতিটি শ্রেণীর সাথে সম্পর্কিত, কোনও শ্রেণির নির্দিষ্ট উদাহরণ (বস্তু) নয়। এর অর্থ আপনি ক্লাসের কোনও অবজেক্ট তৈরি না করেই স্থির পদ্ধতিতে কল করতে পারেন। কোনও staticকীওয়ার্ড ব্যবহারের কারণে main()আপনার প্রথম পদ্ধতিটি আহ্বান করা হয় .. staticউদাহরণস্বরূপ কোনও বস্তুর প্রয়োজন হয় না ... সুতরাং main( )কোনও বস্তু তৈরি হওয়ার আগে জাভা ইন্টারপ্রেটার বলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.